Automated tooling for personal finance and investment/trading operations. The repository spans daily automated workflows, infrastructure, GitHub deployments, setup scripts, research and logic-testing, data fetching & management, API integrations, and system logic for multiple trading systems.
A daily automated system that generates market regime metrics via a GitHub Actions workflow. These metrics feed into both downstream systems below.
Allocates across 6 asset sleeves using momentum + trend filtering. Intended to be slower-moving, providing exposure across uncorrelated diversified sleeves to smooth out the return stream over a long period of time. Uses regime metrics for context.
A shorter/medium-term system that provides well-timed entry and exit exposure to high-beta stocks exhibiting high performance characteristics. Uses regime metrics to inform logic.
Integrations and scripts against the TWS/IB Gateway client used for manual trading operations in different accounts.
| Directory | Description |
|---|---|
allocation/ |
System logic for the long-term ETF investment system that allocates across sleeves and implements custom logic per sleeve. |
alpaca/ |
System logic for the short/medium-term growth stock trend following system. |
bash/ |
Mostly setup scripts for the alpaca system. Sets up a target host to run various parts of that system. |
data/ |
Contains fetch_data script, a TradingView client, finviz python client module, symbol lists, and downloaded CSV data. |
docker/ |
Dockerfile to build the container used in the GitHub Action. |
docs/ |
Deployment directory used to host files for GitHub Pages. |
envs/ |
Conda environment definitions. |
finnhub/ |
API integration used to retrieve earnings data for stocks in the alpaca system. |
finviz/ |
Finviz modules used to scan stocks. |
ibkr/ |
Integrations & scripts against the TWS/IB Gateway client for manual trading operations. |
monitoring/ |
Heartbeat cron job that reports system alive status from the alpaca host. |
regime/ |
Core regime engine logic that runs during the GH workflow to generate metrics and analysis for downstream systems. |
research/ |
Scripts used for backtesting and visualizing trading logic and results (mostly ad-hoc). |
scripts/ |
Script to build/push the pynance-runner container to GHCR, and a script to run the allocation pipeline locally. |
tests/ |
Smoke tests for the allocation engine logic to ensure outputs are structurally sane. |
ui/ |
Frontend dashboard that uses the Alpaca API to visualize the state of the alpaca system. |
This software is for personal use. Trading involves substantial risk of loss. Past performance is not indicative of future results.