How santoshkrsah/algo works
This repository combines historical market-data acquisition, strategy research/backtesting, and a Firstock live-trading utility. The main research workflow is to load prepared market data, execute a strategy simulation, evaluate variants and risk, produce reports, and optionally notify users. The tree and source index reveal many additional strategy families and data/reporting subsystems; unsampled components are represented at their existing package paths, with relationships omitted where the available evidence does not establish calls.
Main entry points: run_backtest.py Backtest runners · auth.py Fyers authentication · runner.py Podcast runner · fast.py Fast data access
Components 34
Historical data
- Fyers authentication
Algo_Historical_Data/src/fyers_data/auth.py - Market data downloads
Algo_Historical_Data/src/fyers_data/download_bars.py - F&O downloads
Algo_Historical_Data/src/fyers_data/download_fno.py - Calendar and reference
Algo_Historical_Data/src/fyers_data/download_calendar.py - Equity data updates
Algo_Historical_Data/src/fyers_data/update_equity.py - Data store
Algo_Historical_Data/src/fyers_data/store.py - Data locations
Algo_Historical_Data/src/fyers_data/paths.py - Data notifications
Algo_Historical_Data/src/fyers_data/notify.py - Market reports
Algo_Historical_Data/src/fyers_data/reports
Backtest research
- Backtest runners
Algo_Backtesting/tools/run_backtest.py - Strategy backtests
Algo_Backtesting/src/backtest - BVS simulation
Algo_Backtesting/src/backtest/bvs.py - BVS data preparation
Algo_Backtesting/src/backtest/bvs_data.py - Breakout simulation
Algo_Backtesting/src/backtest/breakout2.py - PDH strategy
Algo_Backtesting/src/backtest/pdh.py - Strategy rulebook
Algo_Backtesting/src/backtest/rulebook.py - Daily backtest engine
Algo_Backtesting/src/backtest/engine.py - Fast data access
Algo_Backtesting/src/backtest/fast.py - Backtest configuration
Algo_Backtesting/src/backtest/config.py - Strategy reports
Algo_Backtesting/src/backtest - Research notifications
Algo_Backtesting/src/backtest/notify.py
Podcast framework
- Podcast runner
Algo_Backtesting/src/backtest/podcast/runner.py - Podcast bars
Algo_Backtesting/src/backtest/podcast/data.py - Podcast settings
Algo_Backtesting/src/backtest/podcast/config.py - Order simulation
Algo_Backtesting/src/backtest/podcast/engine.py - Indicators
Algo_Backtesting/src/backtest/podcast/indicators.py - Podcast strategies
Algo_Backtesting/src/backtest/podcast - Portfolio evaluation
Algo_Backtesting/src/backtest/podcast/evaluate.py - Podcast reports
Algo_Backtesting/src/backtest/podcast/report.py
STMA research
- STMA runner
Algo_Backtesting/src/backtest/stma/run.py - STMA engine
Algo_Backtesting/src/backtest/stma/engine.py
Other components
- Research operator
- Fyers API
- Telegram
Connections 40
- Research operator → Backtest runners: runs studies
- Backtest runners → Breakout simulation: runs simulation
- Backtest runners → BVS data preparation: loads days
- Backtest runners → BVS simulation: runs variants
- Backtest runners → Strategy rulebook: uses rules
- Backtest runners → Research notifications: sends updates
- Backtest runners → Strategy reports: writes reports
- Backtest runners → PDH strategy: runs strategy
- Daily backtest engine → Backtest configuration: reads settings
Algo_Backtesting/src/backtest/engine.py - Daily backtest engine → Fast data access: reads bars
Algo_Backtesting/src/backtest/engine.py - Fast data access → Backtest configuration: uses locations
Algo_Backtesting/src/backtest/fast.py - Fast data access → Data store: reads Parquet
Algo_Backtesting/src/backtest/fast.py - Fast data access → Data store: falls back to CSV
Algo_Backtesting/src/backtest/fast.py - Research operator → Fyers authentication: authenticates
Algo_Historical_Data/src/fyers_data/auth.py - Fyers authentication → Fyers API: requests token
Algo_Historical_Data/src/fyers_data/auth.py - Fyers authentication → Data locations: uses token cache
Algo_Historical_Data/src/fyers_data/auth.py - Market data downloads → Fyers authentication: gets credentials
Algo_Historical_Data/src/fyers_data/download_bars.py - Market data downloads → F&O downloads: uses contracts
Algo_Historical_Data/src/fyers_data/download_bars.py - Market data downloads → Data locations: uses paths
Algo_Historical_Data/src/fyers_data/download_bars.py - F&O downloads → Fyers authentication: gets credentials
Algo_Historical_Data/src/fyers_data/download_fno.py - F&O downloads → Data locations: uses paths
Algo_Historical_Data/src/fyers_data/download_fno.py - Research operator → Calendar and reference: downloads references
- Research operator → Equity data updates: updates equities
- Data store → Data locations: uses locations
Algo_Historical_Data/src/fyers_data/store.py - Research operator → Market reports: generates reports
- Data notifications → Telegram: sends messages
Algo_Historical_Data/src/fyers_data/notify.py - Podcast runner → Podcast bars: loads bars
- Podcast runner → Podcast strategies: runs strategies
- Podcast strategies → Order simulation: simulates orders
Algo_Backtesting/src/backtest/podcast/module_c.py - Podcast strategies → Indicators: uses indicators
Algo_Backtesting/src/backtest/podcast/module_c.py - Order simulation → Podcast bars: consumes bars
Algo_Backtesting/src/backtest/podcast/engine.py - Order simulation → Podcast settings: reads settings
Algo_Backtesting/src/backtest/podcast/engine.py - Podcast runner → Portfolio evaluation: evaluates results
- Podcast runner → Podcast reports: produces reports
- STMA runner → Podcast bars: loads bars
Algo_Backtesting/src/backtest/stma/run.py - STMA runner → STMA engine: runs simulation
Algo_Backtesting/src/backtest/stma/run.py - STMA runner → STMA runner: evaluates results
Algo_Backtesting/src/backtest/stma/run.py - STMA engine → Indicators: uses indicators
Algo_Backtesting/src/backtest/stma/engine.py - Research operator → Research notifications: requests updates
- Research notifications → Telegram: sends messages
Algo_Backtesting/src/backtest/notify.py