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.
-
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.
[TODO]: Step by step instruction for basic usage.
[TODO]: How to create a schedule (include best times to perform the different types of scans).
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.
If you want to modify or access the database directly I recommend using LiteDB Studio, written by the LiteDB team.
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. |
- Built in Visual Studio 2022
- Target .Net Framework - 4.8
[TODO]: Code structure explanation.