Skip to content
/ iMica Public

A FinViz.com data scraper, aggregator and warehouse. iMica performs scans and stores information on each FinViz Filter & Option for over a thousand stocks on the US Markets.

License

Notifications You must be signed in to change notification settings

drmrboyc/iMica

Repository files navigation

iMica *

* Intelligent Market Investment Curating Automatron

A FinViz.com data scraper, aggregator and warehouse. iMica performs scans and stores information on each FinViz Filter & Option for over a thousand stocks on the US Markets.

Why?

  • Scanning - iMica scans and stores over a thousand unique attributes for over a thousand stocks (recommended on a daily basis).

  • Curation - iMica sifts through gigabytes of quantifiable attribute data to find deltas, scenarios, and values commonly shared by stocks just prior to uncommon price movements.

  • Prediction - Using basic models (and its mountain of data) iMica predicts future stock movements. The larger the dataset the more accurate the prediction, simple indeed.

  • Automation - iMica has a built in scheduler that will scan and store data at your appointed time. Depending on your machine and internet connection, a full market scrape can easily take over an hour.


Main Window


Basic Use

[TODO]: Step by step instruction for basic usage.


Automation

[TODO]: How to create a schedule (include best times to perform the different types of scans).


Backend

iMica uses LiteDB, an embedded NoSQL database made for .NET.

I chose this backend specifically for mobility and lightning fast transactions while still being thread-safe. LiteDB is written in C# managed code and is a great mobile db usable in a multitude of scenarios. If you are not familiar with it I highly recommend checking it out and adding it to your arsenal of back-end tools.

  • The database file is called FS_DataStr.db. Duplicate copies of the db file can be found in each of the bin -> Debug & Release directories. A clean version of the db called FS_DataStr-CLEAN.db is located in the project's root.

LiteDB Studio

If you want to modify or access the database directly I recommend using LiteDB Studio, written by the LiteDB team.


3rd Party Packages

Package Usage
LiteDB An embedded NoSQL db made for .NET.
Html Agility Pack Used with ScrapySharp to handle all the web scraping.
ScrapySharp Used with Html Agility Pack to handle all the web scraping.
CommandLineParser For CLI parsing, ie. automated scheduling compatibility.
FSharp.Core Used by a 3rd party package... I think.

Code Documentation

  • Built in Visual Studio 2022
  • Target .Net Framework - 4.8

[TODO]: Code structure explanation.

About

A FinViz.com data scraper, aggregator and warehouse. iMica performs scans and stores information on each FinViz Filter & Option for over a thousand stocks on the US Markets.

Topics

Resources

License

Stars

Watchers

Forks

Languages