├── .gitignore ├── .vscode ├── launch.json └── settings.json ├── LICENSE.txt ├── README.md ├── docs ├── backtesting.md ├── datasets.md └── execution.md ├── pwb_toolbox ├── __init__.py ├── backtesting │ ├── __init__.py │ ├── backtest_engine.py │ ├── base_strategy.py │ ├── commission.py │ ├── indicators.py │ ├── optimization_engine.py │ ├── portfolio.py │ ├── strategies.py │ └── universe.py ├── datasets │ └── __init__.py ├── execution │ ├── __init__.py │ ├── broker_factory.py │ ├── ccxt_connector.py │ ├── ib_connector.py │ ├── live_utils.py │ └── optimal_limit_order.py └── performance │ ├── __init__.py │ ├── metrics.py │ ├── nav_metrics.py │ ├── plots.py │ ├── reports.py │ └── trade_stats.py ├── pwb_toolbox_legacy ├── datasets │ ├── __init__.py │ ├── perimeters │ │ ├── __init__.py │ │ ├── sp500.py │ │ └── stocks.py │ └── raw │ │ ├── __init__.py │ │ ├── analysis │ │ ├── __init__.py │ │ ├── earnings_estimate.py │ │ ├── eps_revisions.py │ │ ├── eps_trend.py │ │ └── revenue_estimate.py │ │ ├── earnings.py │ │ ├── earnings_forecast.py │ │ ├── earnings_surprise.py │ │ ├── extended_trading.py │ │ ├── knowledge_graph │ │ ├── __init__.py │ │ ├── stocks.py │ │ └── wikipedia.py │ │ ├── news.py │ │ ├── short_interest.py │ │ ├── timeseries_1mn.py │ │ └── timeseries_daily.py ├── features │ ├── __main__.py │ ├── predictors │ │ ├── __main__.py │ │ ├── estimators │ │ │ └── slope.py │ │ └── predictors_monthly.py │ └── targets │ │ └── targets_monthly.py ├── helpers.py ├── models │ └── momentum.py ├── strategies │ └── momentum.py └── strategy_ideas │ ├── __main__.py │ ├── ssrn_abstract.py │ ├── ssrn_abstract_classifier.py │ ├── ssrn_abstract_crawler.py │ ├── ssrn_paper.py │ ├── ssrn_paper_crawler.py │ ├── ssrn_paper_summarizer.py │ └── ssrn_strategy.py ├── pyproject.toml ├── requirements.txt ├── setup.cfg ├── static └── images │ ├── backtest-result.png │ └── pwb-toolbox.jpeg └── tools └── ib_server ├── __init__.py ├── environment.yml ├── execute_meta_strategy.py ├── install.sh ├── launch_ib.py ├── monitor.py └── run_daily.sh /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/README.md -------------------------------------------------------------------------------- /docs/backtesting.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/docs/backtesting.md -------------------------------------------------------------------------------- /docs/datasets.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/docs/datasets.md -------------------------------------------------------------------------------- /docs/execution.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/docs/execution.md -------------------------------------------------------------------------------- /pwb_toolbox/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pwb_toolbox/backtesting/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/backtesting/__init__.py -------------------------------------------------------------------------------- /pwb_toolbox/backtesting/backtest_engine.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/backtesting/backtest_engine.py -------------------------------------------------------------------------------- /pwb_toolbox/backtesting/base_strategy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/backtesting/base_strategy.py -------------------------------------------------------------------------------- /pwb_toolbox/backtesting/commission.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/backtesting/commission.py -------------------------------------------------------------------------------- /pwb_toolbox/backtesting/indicators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/backtesting/indicators.py -------------------------------------------------------------------------------- /pwb_toolbox/backtesting/optimization_engine.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/backtesting/optimization_engine.py -------------------------------------------------------------------------------- /pwb_toolbox/backtesting/portfolio.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/backtesting/portfolio.py -------------------------------------------------------------------------------- /pwb_toolbox/backtesting/strategies.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/backtesting/strategies.py -------------------------------------------------------------------------------- /pwb_toolbox/backtesting/universe.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/backtesting/universe.py -------------------------------------------------------------------------------- /pwb_toolbox/datasets/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/datasets/__init__.py -------------------------------------------------------------------------------- /pwb_toolbox/execution/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/execution/__init__.py -------------------------------------------------------------------------------- /pwb_toolbox/execution/broker_factory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/execution/broker_factory.py -------------------------------------------------------------------------------- /pwb_toolbox/execution/ccxt_connector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/execution/ccxt_connector.py -------------------------------------------------------------------------------- /pwb_toolbox/execution/ib_connector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/execution/ib_connector.py -------------------------------------------------------------------------------- /pwb_toolbox/execution/live_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/execution/live_utils.py -------------------------------------------------------------------------------- /pwb_toolbox/execution/optimal_limit_order.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/execution/optimal_limit_order.py -------------------------------------------------------------------------------- /pwb_toolbox/performance/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/performance/__init__.py -------------------------------------------------------------------------------- /pwb_toolbox/performance/metrics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/performance/metrics.py -------------------------------------------------------------------------------- /pwb_toolbox/performance/nav_metrics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/performance/nav_metrics.py -------------------------------------------------------------------------------- /pwb_toolbox/performance/plots.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/performance/plots.py -------------------------------------------------------------------------------- /pwb_toolbox/performance/reports.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/performance/reports.py -------------------------------------------------------------------------------- /pwb_toolbox/performance/trade_stats.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox/performance/trade_stats.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/__init__.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/perimeters/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/perimeters/__init__.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/perimeters/sp500.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/perimeters/sp500.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/perimeters/stocks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/perimeters/stocks.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/raw/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/raw/__init__.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/raw/analysis/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/raw/analysis/__init__.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/raw/analysis/earnings_estimate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/raw/analysis/earnings_estimate.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/raw/analysis/eps_revisions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/raw/analysis/eps_revisions.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/raw/analysis/eps_trend.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/raw/analysis/eps_trend.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/raw/analysis/revenue_estimate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/raw/analysis/revenue_estimate.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/raw/earnings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/raw/earnings.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/raw/earnings_forecast.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/raw/earnings_forecast.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/raw/earnings_surprise.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/raw/earnings_surprise.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/raw/extended_trading.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/raw/extended_trading.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/raw/knowledge_graph/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/raw/knowledge_graph/__init__.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/raw/knowledge_graph/stocks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/raw/knowledge_graph/stocks.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/raw/knowledge_graph/wikipedia.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/raw/knowledge_graph/wikipedia.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/raw/news.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/raw/news.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/raw/short_interest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/raw/short_interest.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/raw/timeseries_1mn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/raw/timeseries_1mn.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/datasets/raw/timeseries_daily.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/datasets/raw/timeseries_daily.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/features/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/features/__main__.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/features/predictors/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/features/predictors/__main__.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/features/predictors/estimators/slope.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/features/predictors/estimators/slope.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/features/predictors/predictors_monthly.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/features/predictors/predictors_monthly.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/features/targets/targets_monthly.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/features/targets/targets_monthly.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/helpers.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/models/momentum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/models/momentum.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/strategies/momentum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/strategies/momentum.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/strategy_ideas/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/strategy_ideas/__main__.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/strategy_ideas/ssrn_abstract.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/strategy_ideas/ssrn_abstract.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/strategy_ideas/ssrn_abstract_classifier.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/strategy_ideas/ssrn_abstract_classifier.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/strategy_ideas/ssrn_abstract_crawler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/strategy_ideas/ssrn_abstract_crawler.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/strategy_ideas/ssrn_paper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/strategy_ideas/ssrn_paper.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/strategy_ideas/ssrn_paper_crawler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/strategy_ideas/ssrn_paper_crawler.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/strategy_ideas/ssrn_paper_summarizer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/strategy_ideas/ssrn_paper_summarizer.py -------------------------------------------------------------------------------- /pwb_toolbox_legacy/strategy_ideas/ssrn_strategy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pwb_toolbox_legacy/strategy_ideas/ssrn_strategy.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/pyproject.toml -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/requirements.txt -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/setup.cfg -------------------------------------------------------------------------------- /static/images/backtest-result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/static/images/backtest-result.png -------------------------------------------------------------------------------- /static/images/pwb-toolbox.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/static/images/pwb-toolbox.jpeg -------------------------------------------------------------------------------- /tools/ib_server/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/ib_server/environment.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/tools/ib_server/environment.yml -------------------------------------------------------------------------------- /tools/ib_server/execute_meta_strategy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/tools/ib_server/execute_meta_strategy.py -------------------------------------------------------------------------------- /tools/ib_server/install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/tools/ib_server/install.sh -------------------------------------------------------------------------------- /tools/ib_server/launch_ib.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/tools/ib_server/launch_ib.py -------------------------------------------------------------------------------- /tools/ib_server/monitor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/tools/ib_server/monitor.py -------------------------------------------------------------------------------- /tools/ib_server/run_daily.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paperswithbacktest/pwb-toolbox/HEAD/tools/ib_server/run_daily.sh --------------------------------------------------------------------------------