The command line public version of the core engine of Stock Parfait, a stock screener and an upcoming Monte Carlo simulator for stock prices.
This repository is primarily a collection of libraries for acquiring data and building custom analyses.
The main purpose of this project is to provide libraries and tools for those interested in analyzing stocks, and being able to research common investor questions themselves with numbers and sound statistics.
Requirements:
- Google Go 1.18 or higher
git clone https://github.com/stockparfait/stockparfait.git
cd stockparfait
make init
make install
This installs all the command line apps in your ${GOPATH}/bin
(run go env GOPATH
to find out where your GOPATH
is). The apps currently include:
- parfait-sharadar - download financial data from Nasdaq Data Link Sharadar US Equities and Fund Prices data (requires subscription).
- parfait-list - list raw data from the downloaded DB, primarily for debugging or data export and/or editing.
- parfait-import - populate database from external CSV files,
e.g. downloaded from TradingView. The CSV format is compatible with
parfait-list
output, and in tandem these two apps allow for manual editing of the DB contents. - parfait-screener - generate a list of stocks that satisfy search criteria.
- Subscribe to the data source of your interest on Nasdaq Data Link (currently, only Sharadar US Equities and/or Fund Prices are supported);
- Create
~/.stockparfait/sharadar/config.toml
file containing:
key = "<<your subscription key>>"
tables = ["SEP", "SFP"] # keep only the tables you need / subscribed to
- Install the parfait-sharadar app (see Installation above) and run it; it should download all the data locally (about 1.5GB for both tables).
- Follow instructions in the experiments repository to run some prebuilt experiments, or write your own. Use the experiments repository as a template for your implementation.
- experiments hosts various mostly one-off statistical studies and experiments with daily stock prices. Some experiments may serve as prototypes for the production features in this repository.
Pull requests are welcome. We suggest to contact us beforehand to coordinate your code contributions.
In particular, this repository is considered "production code", and it is a good practice to prototype new features first in the experiments repository.