├── .Rbuildignore ├── .github ├── .gitignore └── workflows │ └── pkgdown.yaml ├── .gitignore ├── DESCRIPTION ├── LICENSE ├── LICENSE.md ├── NAMESPACE ├── R ├── RcppExports.R ├── commission_models.R ├── fixed_commission_backtest.R ├── fixed_commission_backtest_with_funding.R ├── fixed_commission_futs_backtest.R ├── fractional_min_commission_backtest.R ├── futs_returns_series.R ├── min_commission_backtest.R ├── post_processing.R ├── rsims-package.R └── utils-pipe.R ├── README.md ├── data ├── backtest_df.RData ├── backtest_df_long.RData ├── equal_weight_etfs.rda └── main_asset_classes_daily_ohlc.csv ├── examples ├── A_simple_trick_to_minimise_trading_costs.ipynb └── rsims_demo.ipynb ├── figure ├── no_tb_turnover-1.png ├── optimal_tb_backtest-1.png ├── results-1.png ├── sharpe-optimal-trade-buffer-1.png ├── tb_turnover-1.png └── with_costs-1.png ├── man ├── append_nav_to_bt_results.Rd ├── calc_ann_turnover.Rd ├── calc_port_returns.Rd ├── calc_sharpe.Rd ├── cash_backtest.Rd ├── combine_port_asset_returns.Rd ├── comm_chart.Rd ├── comm_pct_exp_chart.Rd ├── costs_pct_profit.Rd ├── days_to_expiry.Rd ├── fixed_commission_backtest.Rd ├── fixed_commission_backtest_with_funding.Rd ├── fixed_commission_futs_backtest.Rd ├── fixed_percent.Rd ├── fractional_min_commission_backtest.Rd ├── futs_backtest_equity.Rd ├── futs_per_contract_commission.Rd ├── gg_colour_hue.Rd ├── make_col_scale.Rd ├── make_fill_scale.Rd ├── make_port_col_scale.Rd ├── make_port_fill_scale.Rd ├── make_sim_prices_matrix.Rd ├── make_sim_weights_matrix.Rd ├── min_commission_backtest.Rd ├── pipe.Rd ├── portfolio_colours.Rd ├── roll_on_dte.Rd ├── roll_on_oi.Rd ├── rolling_ann_port_perf.Rd ├── rolling_ann_port_perf_plot.Rd ├── stacked_area_chart.Rd ├── summary_performance.Rd ├── trades_chart.Rd ├── us_tiered_commission.Rd └── wrangle_contracts_on_oi.Rd ├── profiling.R ├── rsims.Rproj ├── src ├── .gitignore ├── RcppExports.cpp ├── positionsFromNoTradeBuffer.cpp └── positionsFromNoTradeBufferMinComm.cpp ├── tests ├── testthat.R └── testthat │ ├── fixtures │ ├── etfs.rds │ └── futures.rds │ ├── test_fixed_commission_futs_backtest.R │ ├── test_futs_returns_series.R │ ├── test_min_commission_backtest.R │ └── test_positionsFromNoTradeBuffer.R └── vignettes ├── .gitignore ├── Wrangling-data-for-input-to-simulation-engine.Rmd └── Wrangling-data-for-input-to-simulation-engine.pdf /.Rbuildignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/.Rbuildignore -------------------------------------------------------------------------------- /.github/.gitignore: -------------------------------------------------------------------------------- 1 | *.html 2 | -------------------------------------------------------------------------------- /.github/workflows/pkgdown.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/.github/workflows/pkgdown.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/.gitignore -------------------------------------------------------------------------------- /DESCRIPTION: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/DESCRIPTION -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | YEAR: 2021 2 | COPYRIGHT HOLDER: rsims authors 3 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/LICENSE.md -------------------------------------------------------------------------------- /NAMESPACE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/NAMESPACE -------------------------------------------------------------------------------- /R/RcppExports.R: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/R/RcppExports.R -------------------------------------------------------------------------------- /R/commission_models.R: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/R/commission_models.R -------------------------------------------------------------------------------- /R/fixed_commission_backtest.R: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/R/fixed_commission_backtest.R -------------------------------------------------------------------------------- /R/fixed_commission_backtest_with_funding.R: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/R/fixed_commission_backtest_with_funding.R -------------------------------------------------------------------------------- /R/fixed_commission_futs_backtest.R: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/R/fixed_commission_futs_backtest.R -------------------------------------------------------------------------------- /R/fractional_min_commission_backtest.R: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/R/fractional_min_commission_backtest.R -------------------------------------------------------------------------------- /R/futs_returns_series.R: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/R/futs_returns_series.R -------------------------------------------------------------------------------- /R/min_commission_backtest.R: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/R/min_commission_backtest.R -------------------------------------------------------------------------------- /R/post_processing.R: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/R/post_processing.R -------------------------------------------------------------------------------- /R/rsims-package.R: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/R/rsims-package.R -------------------------------------------------------------------------------- /R/utils-pipe.R: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/R/utils-pipe.R -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/README.md -------------------------------------------------------------------------------- /data/backtest_df.RData: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/data/backtest_df.RData -------------------------------------------------------------------------------- /data/backtest_df_long.RData: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/data/backtest_df_long.RData -------------------------------------------------------------------------------- /data/equal_weight_etfs.rda: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/data/equal_weight_etfs.rda -------------------------------------------------------------------------------- /data/main_asset_classes_daily_ohlc.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/data/main_asset_classes_daily_ohlc.csv -------------------------------------------------------------------------------- /examples/A_simple_trick_to_minimise_trading_costs.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/examples/A_simple_trick_to_minimise_trading_costs.ipynb -------------------------------------------------------------------------------- /examples/rsims_demo.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/examples/rsims_demo.ipynb -------------------------------------------------------------------------------- /figure/no_tb_turnover-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/figure/no_tb_turnover-1.png -------------------------------------------------------------------------------- /figure/optimal_tb_backtest-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/figure/optimal_tb_backtest-1.png -------------------------------------------------------------------------------- /figure/results-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/figure/results-1.png -------------------------------------------------------------------------------- /figure/sharpe-optimal-trade-buffer-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/figure/sharpe-optimal-trade-buffer-1.png -------------------------------------------------------------------------------- /figure/tb_turnover-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/figure/tb_turnover-1.png -------------------------------------------------------------------------------- /figure/with_costs-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/figure/with_costs-1.png -------------------------------------------------------------------------------- /man/append_nav_to_bt_results.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/append_nav_to_bt_results.Rd -------------------------------------------------------------------------------- /man/calc_ann_turnover.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/calc_ann_turnover.Rd -------------------------------------------------------------------------------- /man/calc_port_returns.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/calc_port_returns.Rd -------------------------------------------------------------------------------- /man/calc_sharpe.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/calc_sharpe.Rd -------------------------------------------------------------------------------- /man/cash_backtest.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/cash_backtest.Rd -------------------------------------------------------------------------------- /man/combine_port_asset_returns.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/combine_port_asset_returns.Rd -------------------------------------------------------------------------------- /man/comm_chart.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/comm_chart.Rd -------------------------------------------------------------------------------- /man/comm_pct_exp_chart.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/comm_pct_exp_chart.Rd -------------------------------------------------------------------------------- /man/costs_pct_profit.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/costs_pct_profit.Rd -------------------------------------------------------------------------------- /man/days_to_expiry.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/days_to_expiry.Rd -------------------------------------------------------------------------------- /man/fixed_commission_backtest.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/fixed_commission_backtest.Rd -------------------------------------------------------------------------------- /man/fixed_commission_backtest_with_funding.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/fixed_commission_backtest_with_funding.Rd -------------------------------------------------------------------------------- /man/fixed_commission_futs_backtest.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/fixed_commission_futs_backtest.Rd -------------------------------------------------------------------------------- /man/fixed_percent.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/fixed_percent.Rd -------------------------------------------------------------------------------- /man/fractional_min_commission_backtest.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/fractional_min_commission_backtest.Rd -------------------------------------------------------------------------------- /man/futs_backtest_equity.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/futs_backtest_equity.Rd -------------------------------------------------------------------------------- /man/futs_per_contract_commission.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/futs_per_contract_commission.Rd -------------------------------------------------------------------------------- /man/gg_colour_hue.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/gg_colour_hue.Rd -------------------------------------------------------------------------------- /man/make_col_scale.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/make_col_scale.Rd -------------------------------------------------------------------------------- /man/make_fill_scale.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/make_fill_scale.Rd -------------------------------------------------------------------------------- /man/make_port_col_scale.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/make_port_col_scale.Rd -------------------------------------------------------------------------------- /man/make_port_fill_scale.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/make_port_fill_scale.Rd -------------------------------------------------------------------------------- /man/make_sim_prices_matrix.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/make_sim_prices_matrix.Rd -------------------------------------------------------------------------------- /man/make_sim_weights_matrix.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/make_sim_weights_matrix.Rd -------------------------------------------------------------------------------- /man/min_commission_backtest.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/min_commission_backtest.Rd -------------------------------------------------------------------------------- /man/pipe.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/pipe.Rd -------------------------------------------------------------------------------- /man/portfolio_colours.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/portfolio_colours.Rd -------------------------------------------------------------------------------- /man/roll_on_dte.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/roll_on_dte.Rd -------------------------------------------------------------------------------- /man/roll_on_oi.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/roll_on_oi.Rd -------------------------------------------------------------------------------- /man/rolling_ann_port_perf.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/rolling_ann_port_perf.Rd -------------------------------------------------------------------------------- /man/rolling_ann_port_perf_plot.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/rolling_ann_port_perf_plot.Rd -------------------------------------------------------------------------------- /man/stacked_area_chart.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/stacked_area_chart.Rd -------------------------------------------------------------------------------- /man/summary_performance.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/summary_performance.Rd -------------------------------------------------------------------------------- /man/trades_chart.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/trades_chart.Rd -------------------------------------------------------------------------------- /man/us_tiered_commission.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/us_tiered_commission.Rd -------------------------------------------------------------------------------- /man/wrangle_contracts_on_oi.Rd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/man/wrangle_contracts_on_oi.Rd -------------------------------------------------------------------------------- /profiling.R: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/profiling.R -------------------------------------------------------------------------------- /rsims.Rproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/rsims.Rproj -------------------------------------------------------------------------------- /src/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/src/.gitignore -------------------------------------------------------------------------------- /src/RcppExports.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/src/RcppExports.cpp -------------------------------------------------------------------------------- /src/positionsFromNoTradeBuffer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/src/positionsFromNoTradeBuffer.cpp -------------------------------------------------------------------------------- /src/positionsFromNoTradeBufferMinComm.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/src/positionsFromNoTradeBufferMinComm.cpp -------------------------------------------------------------------------------- /tests/testthat.R: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/tests/testthat.R -------------------------------------------------------------------------------- /tests/testthat/fixtures/etfs.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/tests/testthat/fixtures/etfs.rds -------------------------------------------------------------------------------- /tests/testthat/fixtures/futures.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/tests/testthat/fixtures/futures.rds -------------------------------------------------------------------------------- /tests/testthat/test_fixed_commission_futs_backtest.R: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/tests/testthat/test_fixed_commission_futs_backtest.R -------------------------------------------------------------------------------- /tests/testthat/test_futs_returns_series.R: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/tests/testthat/test_futs_returns_series.R -------------------------------------------------------------------------------- /tests/testthat/test_min_commission_backtest.R: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/tests/testthat/test_min_commission_backtest.R -------------------------------------------------------------------------------- /tests/testthat/test_positionsFromNoTradeBuffer.R: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/tests/testthat/test_positionsFromNoTradeBuffer.R -------------------------------------------------------------------------------- /vignettes/.gitignore: -------------------------------------------------------------------------------- 1 | *.html 2 | *.R 3 | -------------------------------------------------------------------------------- /vignettes/Wrangling-data-for-input-to-simulation-engine.Rmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/vignettes/Wrangling-data-for-input-to-simulation-engine.Rmd -------------------------------------------------------------------------------- /vignettes/Wrangling-data-for-input-to-simulation-engine.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Robot-Wealth/rsims/HEAD/vignettes/Wrangling-data-for-input-to-simulation-engine.pdf --------------------------------------------------------------------------------