stockparfait

module
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 21, 2023 License: Apache-2.0

README

Stock Parfait

Build Status GoDoc

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.

Installation

Requirements:

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.

Quick start

  • 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.

Contributing to Stock Parfait

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.

Directories

Path Synopsis
apps
Package db implements local price series database API.
Package db implements local price series database API.
Package message defines primitives for JSON-based configuration files or communication protocols.
Package message defines primitives for JSON-based configuration files or communication protocols.
ndl
Package ndl implements generic table API of Nasdaq Data Link (NDL).
Package ndl implements generic table API of Nasdaq Data Link (NDL).
sharadar
Package sharadar implements specific schemas and methods for downloading Sharadar equity and fund prices tables through Nasdaq Data Link.
Package sharadar implements specific schemas and methods for downloading Sharadar equity and fund prices tables through Nasdaq Data Link.
Package plot implements a collection of GUI-independent containers for plot data to be displayed to the user by specific renderers.
Package plot implements a collection of GUI-independent containers for plot data to be displayed to the user by specific renderers.
Package screener implements screening stocks.
Package screener implements screening stocks.
Package stats implements statistical utilities.
Package stats implements statistical utilities.
Package table implements a container API for tables of data.
Package table implements a container API for tables of data.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL