Skip to content

chore(deps): Update yfinance requirement from >=1.6.0 to >=1.7.0 - #326

Open
dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/pip/dev/yfinance-gte-1.7.0
Open

dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/pip/dev/yfinance-gte-1.7.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 7, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on yfinance to permit the latest version.

Release notes

Sourced from yfinance's releases.

1.7.0

Main change:

  • history_metadata now lazy-loads tradingPeriods

Fixes for:

  • proxy
  • stock-split price-repair

Full changelog #2959

Thanks @​amosli

Changelog

Sourced from yfinance's changelog.

1.7.0

Features / improvements:

  • Make history_metadata lazy-load 'tradingPeriods' #2922 Fixes
  • Improve robustness of YfData when behind a SOCKS5 proxy #2953 Price repair:
  • Fix bug in volume-validation of stock-split-repair #2958

1.6.0

Features / improvements

1.5.2

Patches

  • Fix yfinance breaking with curl_cffi>=0.16

1.5.1

Minor

  • Fall back to chunked requests when single-URL fundamentals fetch times out #2811
  • Replace valuation-measures HTML scrape with timeseries API #2851 Patches
  • Determine login and subscription tier via the subscriptions API #2845
  • Preserve user login cookies across cookie-strategy switches #2850

... (truncated)

Commits
  • 3d9d2f0 Version 1.7.0
  • 43f3021 Merge pull request #2959 from ranaroussi/dev
  • 686a031 Minor test fix
  • fdede94 Merge pull request #2953 from amosli/fix/cookie-crumb-proxy-resilience
  • 5c1f64e Fixes for PR #2958
  • c732994 Merge pull request #2958 from ranaroussi/fix/price-repair-split-volume-valida...
  • ba7b650 Fix proxy wipe and make cookie/crumb failures non-fatal
  • 0f29c85 Fix bug in volume-validation of stock-split-repair, that was wrongly blocking...
  • baeca64 Merge pull request #2918 from dokson/fix/drop-nospam-extra
  • 5261b4d Drop unusable nospam extra and py2 cruft
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [yfinance](https://github.com/ranaroussi/yfinance) to permit the latest version.
- [Release notes](https://github.com/ranaroussi/yfinance/releases)
- [Changelog](https://github.com/ranaroussi/yfinance/blob/main/CHANGELOG.rst)
- [Commits](ranaroussi/yfinance@1.6.0...1.7.0)

---
updated-dependencies:
- dependency-name: yfinance
  dependency-version: 1.7.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Sep 7, 2026
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

ASV continuous — benchmark diff (Python 3.12)

Exit code: 0 (1 = flagged regression at --factor 1.25; 2 = a benchmark raised, so nothing was compared)

Gate — blocks only at or above 0.01s, where this runner can measure reliably:

Faster (never blocks):
   0.81  bench_backtest.CacheDiskHit.time_cache_disk_get
   0.89  bench_backtest.CacheL1Hit.time_cache_l1_get

No benchmark at or above 10ms regressed by 1.25x or more (73 benchmarks compared).
Full benchmark output
· No executable found for python 3.11
· No executable found for python 3.13
· No executable found for python 3.14
· Creating environments
· Discovering benchmarks
·· Uninstalling from virtualenv-py3.12
·· Installing e6e7230d into virtualenv-py3.12
· Running 106 total benchmarks (2 commits * 1 environments * 53 benchmarks)
[ 0.00%] · For pybroker commit eb9d3400 (round 1/2):
[ 0.00%] ·· Building for virtualenv-py3.12
[ 0.00%] ·· Benchmarking virtualenv-py3.12
[ 0.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[ 6.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[ 9.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--)....
[11.32%] ··· Running (bench_backtest.ModelPrepKernels.time_indicator_values_for_dates--)......
[14.15%] ··· Running (bench_backtest.StoreBuildKernels.time_symbol_array_store_from_frame--)........
[18.87%] ··· Running (bench_backtest.WalkforwardModelsCached.time_walkforward_models_cached--)......
[21.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[25.00%] · For pybroker commit e6e7230d (round 1/2):
[25.00%] ·· Building for virtualenv-py3.12
[25.00%] ·· Benchmarking virtualenv-py3.12
[25.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[31.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[34.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--)...
[35.85%] ··· Running (bench_backtest.LagPrepBottlenecks.time_merge_lag_cache_from_store--).......
[39.15%] ··· Running (bench_backtest.StoreBuildKernels.time_symbol_array_store_from_frame--)........
[43.87%] ··· Running (bench_backtest.WalkforwardModelsCached.time_walkforward_models_cached--)......
[46.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[50.00%] · For pybroker commit e6e7230d (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.12
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         99.1±0.3ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           495±20μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  28.4±0.7μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get            3.42±0.06μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap         12.3±0.3ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          23.3±0.08ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          25.4±0.09ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            12.6±0.4μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor             35.6±1μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            21.5±0.5μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      20.6±0.4ms 
                 200      48.8±0.6ms 
                 500      112±0.9ms  
             =========== ============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== ============
              length              
             -------- ------------
               1000    6.85±0.1μs 
              100000    1.63±0ms  
             ======== ============

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== =============
              length               
             -------- -------------
               1000    6.80±0.04μs 
              100000   1.81±0.01ms 
             ======== =============

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000    6.89±0.05μs 
              100000     1.81±0ms  
             ======== =============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.71±0.05μs 
              100000     347±4μs   
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000     15.2±0.1μs 
              100000   4.38±0.01ms 
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.55±0.05μs 
              100000     981±5μs   
             ======== =============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      143±4ms  
                 200      335±20ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============ ============
             --                 n_indicators      
             ----------- -------------------------
              n_symbols       1            5      
             =========== ============ ============
                  50      9.68±0.3ms   20.6±0.7ms 
                 200      38.4±0.8ms    81.3±1ms  
                 500       97.5±2ms     204±2ms   
             =========== ============ ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         6.70±0.2ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.13±0.02ms
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store        1.08±0.09ms
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           51.9±1μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        743±5ms  
                    True        442±20ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.28±0.01ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.03±0.03ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.28±0.02ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         69.6±0.3ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.09±0.01ms   2.37±0.03ms 
                  10      2.25±0.04ms   5.48±0.06ms 
             =========== ============= =============

[64.62%] ··· ...rnels.time_slice_symbol_array_store_by_dates                 ok
[64.62%] ··· =========== =========
             --            n_days 
             ----------- ---------
              n_symbols     1260  
             =========== =========
                  10      960±3μs 
             =========== =========

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                245M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             64.9±0.3ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         63.9±0.7ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals          198±0.4ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               253M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large          276±0.4ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models            346±1ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models          343±0.9ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached            346±2ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            354±2ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window           89.4±1ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            655±3ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward           62.3±2ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ============
             --                 symbols         
             --------- -------------------------
              windows       4            12     
             ========= ============ ============
                 1      44.4±0.9ms   87.1±0.2ms 
                 3      62.1±0.6ms   124±0.8ms  
                 10      83.5±2ms     171±1ms   
             ========= ============ ============

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large         2.64±0.4ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        5.41±0.03ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         59.7±0.7ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.56±0.08ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         27.5±0.2ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.56±0.02ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage          253±0.7ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          254±0.5ms
[75.00%] · For pybroker commit eb9d3400 (round 2/2):
[75.00%] ·· Building for virtualenv-py3.12
[75.00%] ·· Benchmarking virtualenv-py3.12
[75.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         98.9±0.5ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           613±30μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  27.9±0.4μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.83±0.1μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap         12.2±0.1ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           23.3±0.1ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          25.4±0.05ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            12.2±0.7μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor             34.7±1μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio              21.9±1μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      20.3±0.3ms 
                 200      50.0±0.7ms 
                 500      109±0.7ms  
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    6.69±0.08μs 
              100000   1.61±0.01ms 
             ======== =============

[81.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[81.60%] ··· ======== =============
              length               
             -------- -------------
               1000    6.77±0.03μs 
              100000     1.81±0ms  
             ======== =============

[82.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[82.08%] ··· ======== =============
              length               
             -------- -------------
               1000     7.00±0.1μs 
              100000   1.80±0.01ms 
             ======== =============

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.75±0.07μs 
              100000     342±6μs   
             ======== =============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000    15.0±0.04μs 
              100000   4.36±0.01ms 
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.52±0.03μs 
              100000     974±7μs   
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      139±9ms  
                 200      322±50ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============ ============
             --                 n_indicators      
             ----------- -------------------------
              n_symbols       1            5      
             =========== ============ ============
                  50      9.97±0.2ms   20.4±0.2ms 
                 200      38.3±0.4ms   81.0±0.4ms 
                 500       96.7±1ms     204±3ms   
             =========== ============ ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled           6.59±1ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.11±0.02ms
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store        1.05±0.02ms
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           52.1±1μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        743±6ms  
                    True        435±20ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.30±0.04ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.98±0.02ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.28±0.04ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         69.7±0.5ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.11±0.01ms   2.37±0.04ms 
                  10      2.26±0.07ms   5.56±0.04ms 
             =========== ============= =============

[89.62%] ··· ...rnels.time_slice_symbol_array_store_by_dates                 ok
[89.62%] ··· =========== =========
             --            n_days 
             ----------- ---------
              n_symbols     1260  
             =========== =========
                  10      957±3μs 
             =========== =========

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                245M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             64.9±0.5ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         64.7±0.6ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          197±0.4ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               253M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            273±1ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models          349±0.7ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models          343±0.9ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached          342±0.9ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            352±1ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         87.7±0.6ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            643±2ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         60.1±0.1ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      43.3±0.6ms   86.2±1ms 
                 3       62.8±1ms    122±1ms  
                 10      81.5±2ms    170±2ms  
             ========= ============ ==========

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large         2.60±0.5ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        5.40±0.06ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize           62.3±3ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.57±0.02ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         26.7±0.4ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape           1.52±0ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage          251±0.5ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          253±0.9ms
| Change   | Before [eb9d3400]    | After [e6e7230d]    |   Ratio | Benchmark (Parameter)                           |
|----------|----------------------|---------------------|---------|-------------------------------------------------|
| -        | 613±30μs             | 495±20μs            |    0.81 | bench_backtest.CacheDiskHit.time_cache_disk_get |

SOME BENCHMARKS HAVE CHANGED SIGNIFICANTLY.
PERFORMANCE INCREASED.

Blocks only when a benchmark of at least 0.01s regresses by 1.25x. Shorter benchmarks are reported, never blocking: on this runner, identical code has produced ratios from 0.65 to 1.29 on sub-2ms benchmarks. Override via the bench-override PR label.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

ASV continuous — benchmark diff (Python 3.11)

Exit code: 0 (1 = flagged regression at --factor 1.25; 2 = a benchmark raised, so nothing was compared)

Gate — blocks only at or above 0.01s, where this runner can measure reliably:

Faster (never blocks):
   0.88  bench_backtest.CacheDiskHit.time_cache_disk_get
   0.90  bench_backtest.EvalKernels.time_max_drawdown

Moved, but not blocking (under 1.25x, or under the 10ms floor where this runner's noise exceeds the factor):
   1.14  bench_backtest.CacheL1Hit.time_cache_l1_get  (baseline 2.705us)
   1.18  bench_common.IntervalCompression.time_compress_5m_large  (baseline 2.13357ms)

No benchmark at or above 10ms regressed by 1.25x or more (73 benchmarks compared).
Full benchmark output
· No executable found for python 3.13
· No executable found for python 3.14
· Creating environments
· Discovering benchmarks
·· Uninstalling from virtualenv-py3.11
·· Installing e6e7230d into virtualenv-py3.11
· Running 106 total benchmarks (2 commits * 1 environments * 53 benchmarks)
[ 0.00%] · For pybroker commit eb9d3400 (round 1/2):
[ 0.00%] ·· Building for virtualenv-py3.11
[ 0.00%] ·· Benchmarking virtualenv-py3.11
[ 0.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[ 6.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[ 9.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--)......
[12.26%] ··· Running (bench_backtest.ModelTrainPrep.time_train_models_per_symbol--)...........
[18.40%] ··· Running (bench_backtest.WalkforwardModelsCached.time_walkforward_models--).......
[21.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[25.00%] · For pybroker commit e6e7230d (round 1/2):
[25.00%] ·· Building for virtualenv-py3.11
[25.00%] ·· Benchmarking virtualenv-py3.11
[25.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[31.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[34.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--)......
[37.26%] ··· Running (bench_backtest.ModelTrainPrep.time_train_models_per_symbol--)...........
[43.40%] ··· Running (bench_backtest.WalkforwardModelsCached.time_walkforward_models--).......
[46.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[50.00%] · For pybroker commit e6e7230d (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.11
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop           98.9±1ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           392±10μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  30.0±0.5μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.09±0.2μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        10.8±0.02ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          21.1±0.04ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          23.2±0.03ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            11.2±0.3μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor             30.0±1μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            16.9±0.6μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      18.6±0.1ms 
                 200      39.7±0.4ms 
                 500      85.2±0.9ms 
             =========== ============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== =============
              length               
             -------- -------------
               1000     8.28±0.3μs 
              100000   1.58±0.02ms 
             ======== =============

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== =============
              length               
             -------- -------------
               1000     6.59±0.3μs 
              100000   1.63±0.01ms 
             ======== =============

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000    6.61±0.04μs 
              100000   1.63±0.01ms 
             ======== =============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.83±0.02μs 
              100000     327±2μs   
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000    14.1±0.07μs 
              100000     3.93±0ms  
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.09±0.04μs 
              100000     902±4μs   
             ======== =============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      134±3ms  
                 200      341±20ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      8.99±0.05ms   22.6±0.1ms 
                 200       33.7±0.2ms    89.2±1ms  
                 500        85.7±2ms     224±3ms   
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         5.64±0.3ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled            800±9μs
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           902±10μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         60.7±0.6μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        803±3ms  
                    True        496±40ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.29±0.02ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.87±0.01ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.99±0.02ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         75.6±0.4ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         989±9μs     1.89±0.01ms 
                  10      1.80±0.02ms   4.09±0.06ms 
             =========== ============= =============

[64.62%] ··· ...rnels.time_slice_symbol_array_store_by_dates                 ok
[64.62%] ··· =========== =============
             --              n_days   
             ----------- -------------
              n_symbols       1260    
             =========== =============
                  10      1.04±0.01ms 
             =========== =============

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             68.5±0.3ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         69.9±0.6ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals            200±2ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               255M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large          293±0.9ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models          317±0.6ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            312±2ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached          314±0.4ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          320±0.7ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         88.4±0.5ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            625±4ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward           68.0±1ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ===========
             --                symbols         
             --------- ------------------------
              windows       4            12    
             ========= ============ ===========
                 1      47.7±0.7ms    93.1±1ms 
                 3      66.5±0.2ms    131±1ms  
                 10     89.9±0.4ms   180±0.2ms 
             ========= ============ ===========

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large         2.52±0.4ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        5.42±0.02ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         60.7±0.2ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.42±0.01ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         26.0±0.2ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.54±0.01ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage            272±1ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            273±2ms
[75.00%] · For pybroker commit eb9d3400 (round 2/2):
[75.00%] ·· Building for virtualenv-py3.11
[75.00%] ·· Benchmarking virtualenv-py3.11
[75.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop          100±0.9ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           445±60μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  29.5±0.3μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.70±0.2μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap         11.0±0.3ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           21.7±0.4ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          23.2±0.03ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown              12.5±1μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor             30.5±1μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio              18.5±2μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      19.0±0.6ms 
                 200      40.3±0.7ms 
                 500       86.3±1ms  
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000     7.92±0.1μs 
              100000   1.61±0.02ms 
             ======== =============

[81.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[81.60%] ··· ======== =============
              length               
             -------- -------------
               1000    6.61±0.08μs 
              100000   1.63±0.01ms 
             ======== =============

[82.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[82.08%] ··· ======== =============
              length               
             -------- -------------
               1000    6.59±0.05μs 
              100000   1.63±0.01ms 
             ======== =============

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.92±0.05μs 
              100000     338±10μs  
             ======== =============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000     14.1±0.1μs 
              100000   3.92±0.01ms 
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.22±0.01μs 
              100000     906±1μs   
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      132±4ms  
                 200      311±30ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= =============
             --                  n_indicators       
             ----------- ---------------------------
              n_symbols        1             5      
             =========== ============= =============
                  50      8.89±0.05ms   22.7±0.08ms 
                 200       33.4±0.2ms    88.7±0.7ms 
                 500       86.6±0.8ms    228±0.9ms  
             =========== ============= =============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled        5.68±0.05ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled            785±8μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           905±20μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         62.1±0.5μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        804±3ms  
                    True        451±20ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.28±0.02ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled           2.84±0ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.93±0.01ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         75.1±0.4ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         990±20μs    1.85±0.02ms 
                  10      1.83±0.02ms   4.17±0.04ms 
             =========== ============= =============

[89.62%] ··· ...rnels.time_slice_symbol_array_store_by_dates                 ok
[89.62%] ··· =========== =============
             --              n_days   
             ----------- -------------
              n_symbols       1260    
             =========== =============
                  10      1.05±0.01ms 
             =========== =============

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             68.8±0.3ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         69.3±0.4ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          202±0.6ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               255M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            292±2ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models            319±1ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models            313±4ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            315±2ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          318±0.8ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window           88.6±1ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            630±4ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward           67.9±1ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ===========
             --                symbols         
             --------- ------------------------
              windows       4            12    
             ========= ============ ===========
                 1      47.7±0.5ms    92.5±2ms 
                 3       67.0±1ms     132±2ms  
                 10      88.7±1ms    183±0.9ms 
             ========= ============ ===========

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large         2.13±0.4ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        5.52±0.05ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         60.1±0.2ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.44±0.06ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         25.9±0.2ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.53±0.01ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage            268±2ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            268±4ms

BENCHMARKS NOT SIGNIFICANTLY CHANGED.

Blocks only when a benchmark of at least 0.01s regresses by 1.25x. Shorter benchmarks are reported, never blocking: on this runner, identical code has produced ratios from 0.65 to 1.29 on sub-2ms benchmarks. Override via the bench-override PR label.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

ASV continuous — benchmark diff (Python 3.13)

Exit code: 0 (1 = flagged regression at --factor 1.25; 2 = a benchmark raised, so nothing was compared)

Gate — blocks only at or above 0.01s, where this runner can measure reliably:


No benchmark at or above 10ms regressed by 1.25x or more (73 benchmarks compared).
Full benchmark output
· No executable found for python 3.11
· No executable found for python 3.14
· Creating environments
· Discovering benchmarks
·· Uninstalling from virtualenv-py3.13
·· Installing e6e7230d into virtualenv-py3.13
· Running 106 total benchmarks (2 commits * 1 environments * 53 benchmarks)
[ 0.00%] · For pybroker commit eb9d3400 (round 1/2):
[ 0.00%] ·· Building for virtualenv-py3.13
[ 0.00%] ·· Benchmarking virtualenv-py3.13
[ 0.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[ 6.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[ 9.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--).....
[11.79%] ··· Running (bench_backtest.ModelTrainParallel.time_train_models_parallel--)......
[14.62%] ··· Running (bench_backtest.StoreSliceKernels.time_slice_symbol_array_store_by_dates--)........
[19.34%] ··· Running (bench_backtest.WalkforwardModelsPerSymbol.time_walkforward_models_per_symbol--).....
[21.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[25.00%] · For pybroker commit e6e7230d (round 1/2):
[25.00%] ·· Building for virtualenv-py3.13
[25.00%] ·· Benchmarking virtualenv-py3.13
[25.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[31.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[34.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--).....
[36.79%] ··· Running (bench_backtest.ModelTrainParallel.time_train_models_parallel--)......
[39.62%] ··· Running (bench_backtest.StoreSliceKernels.time_slice_symbol_array_store_by_dates--)........
[44.34%] ··· Running (bench_backtest.WalkforwardModelsPerSymbol.time_walkforward_models_per_symbol--).....
[46.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[50.00%] · For pybroker commit e6e7230d (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.13
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop            105±3ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          510±100μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  28.7±0.1μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get            2.69±0.07μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap         11.8±0.1ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           23.1±0.1ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          25.4±0.03ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            11.7±0.3μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor             33.7±1μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            19.6±0.3μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      20.2±0.1ms 
                 200      48.5±0.9ms 
                 500      107±0.7ms  
             =========== ============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== ============
              length              
             -------- ------------
               1000    6.88±0.2μs 
              100000    709±5μs   
             ======== ============

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== =============
              length               
             -------- -------------
               1000    6.70±0.04μs 
              100000   1.55±0.01ms 
             ======== =============

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000    6.73±0.03μs 
              100000     1.56±0ms  
             ======== =============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== ============
              length              
             -------- ------------
               1000    2.56±0.6μs 
              100000   114±0.5μs  
             ======== ============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000    14.7±0.04μs 
              100000   3.37±0.01ms 
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.37±0.07μs 
              100000     752±3μs   
             ======== =============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      122±2ms  
                 200      298±50ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============ ============
             --                 n_indicators      
             ----------- -------------------------
              n_symbols       1            5      
             =========== ============ ============
                  50      9.59±0.1ms   20.0±0.1ms 
                 200      37.7±0.4ms   78.9±0.9ms 
                 500      95.0±0.8ms    200±1ms   
             =========== ============ ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         6.25±0.4ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.11±0.02ms
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store        1.01±0.01ms
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           54.7±7μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        743±3ms  
                    True        439±10ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.29±0.03ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.05±0.01ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.30±0.02ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           77.2±1ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.12±0.02ms   2.27±0.03ms 
                  10      2.16±0.02ms   5.43±0.04ms 
             =========== ============= =============

[64.62%] ··· ...rnels.time_slice_symbol_array_store_by_dates                 ok
[64.62%] ··· =========== ==========
             --            n_days  
             ----------- ----------
              n_symbols     1260   
             =========== ==========
                  10      981±10μs 
             =========== ==========

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward               67.2±3ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         66.9±0.4ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals          213±0.5ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               255M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            351±2ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models            385±1ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models          379±0.6ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached            380±1ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            389±2ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         89.6±0.3ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            680±2ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         62.6±0.5ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      44.3±0.2ms   90.6±9ms 
                 3      62.1±0.8ms   143±10ms 
                 10     83.5±0.7ms   173±20ms 
             ========= ============ ==========

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.52±0.02ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        5.44±0.01ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         63.2±0.2ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.42±0.03ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         26.8±0.4ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.55±0.02ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage          263±0.9ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            262±2ms
[75.00%] · For pybroker commit eb9d3400 (round 2/2):
[75.00%] ·· Building for virtualenv-py3.13
[75.00%] ·· Benchmarking virtualenv-py3.13
[75.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop            103±1ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          499±100μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  29.3±0.4μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.71±0.1μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        12.0±0.03ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          23.2±0.02ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf           25.4±0.1ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            11.9±0.4μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor           34.0±0.8μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            20.7±0.6μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      20.5±0.1ms 
                 200      49.2±0.4ms 
                 500      107±0.9ms  
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    6.55±0.08μs 
              100000     713±6μs   
             ======== =============

[81.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[81.60%] ··· ======== =============
              length               
             -------- -------------
               1000    6.63±0.07μs 
              100000     1.55±0ms  
             ======== =============

[82.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[82.08%] ··· ======== =============
              length               
             -------- -------------
               1000    6.76±0.06μs 
              100000     1.56±0ms  
             ======== =============

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.61±0.07μs 
              100000     117±2μs   
             ======== =============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000    14.9±0.06μs 
              100000     3.36±0ms  
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.36±0.04μs 
              100000     752±3μs   
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      125±9ms  
                 200      310±50ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============ ============
             --                 n_indicators      
             ----------- -------------------------
              n_symbols       1            5      
             =========== ============ ============
                  50      9.58±0.1ms   20.2±0.1ms 
                 200      37.7±0.3ms   80.3±0.9ms 
                 500      95.6±0.6ms    201±1ms   
             =========== ============ ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         5.71±0.7ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.16±0.02ms
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store        1.02±0.02ms
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           52.7±1μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ===========
              parallel_models             
             ----------------- -----------
                   False        734±0.8ms 
                    True         461±30ms 
             ================= ===========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.31±0.05ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.09±0.02ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.27±0.06ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           78.2±1ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.14±0.01ms   2.36±0.04ms 
                  10      2.21±0.02ms    5.46±0.1ms 
             =========== ============= =============

[89.62%] ··· ...rnels.time_slice_symbol_array_store_by_dates                 ok
[89.62%] ··· =========== =========
             --            n_days 
             ----------- ---------
              n_symbols     1260  
             =========== =========
                  10      977±4μs 
             =========== =========

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward               70.0±3ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward           68.2±1ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals            218±5ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               255M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large          346±0.5ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models            389±4ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models            381±3ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            380±1ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            389±4ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         90.1±0.8ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            687±3ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         64.6±0.3ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      46.0±0.7ms   90.7±9ms 
                 3      64.6±0.9ms   146±10ms 
                 10      85.9±1ms    186±20ms 
             ========= ============ ==========

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.53±0.01ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        5.45±0.02ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         63.6±0.7ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.50±0.04ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         26.8±0.3ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.56±0.01ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage          264±0.5ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          263±0.7ms

BENCHMARKS NOT SIGNIFICANTLY CHANGED.

Blocks only when a benchmark of at least 0.01s regresses by 1.25x. Shorter benchmarks are reported, never blocking: on this runner, identical code has produced ratios from 0.65 to 1.29 on sub-2ms benchmarks. Override via the bench-override PR label.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

ASV continuous — benchmark diff (Python 3.14)

Exit code: 0 (1 = flagged regression at --factor 1.25; 2 = a benchmark raised, so nothing was compared)

Gate — blocks only at or above 0.01s, where this runner can measure reliably:

Faster (never blocks):
   0.83  bench_backtest.CacheL1Hit.time_cache_l1_get

No benchmark at or above 10ms regressed by 1.25x or more (73 benchmarks compared).
Full benchmark output
· No executable found for python 3.11
· No executable found for python 3.13
· Creating environments
· Discovering benchmarks
·· Uninstalling from virtualenv-py3.14
·· Installing e6e7230d into virtualenv-py3.14
· Running 106 total benchmarks (2 commits * 1 environments * 53 benchmarks)
[ 0.00%] · For pybroker commit eb9d3400 (round 1/2):
[ 0.00%] ·· Building for virtualenv-py3.14
[ 0.00%] ·· Benchmarking virtualenv-py3.14
[ 0.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[ 6.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[ 9.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--)....
[11.32%] ··· Running (bench_backtest.ModelPrepKernels.time_indicator_values_for_dates--)......
[14.15%] ··· Running (bench_backtest.StoreBuildKernels.time_symbol_array_store_from_frame--).......
[18.40%] ··· Running (bench_backtest.WalkforwardModelsCached.time_walkforward_models--).....
[20.75%] ··· Running (bench_backtest.WalkforwardProperCold.time_proper_cold_walkforward--).......
[24.06%] ··· Running (bench_data.YFinanceMultiSymbol.time_yfinance_reshape--)...
[25.00%] · For pybroker commit e6e7230d (round 1/2):
[25.00%] ·· Building for virtualenv-py3.14
[25.00%] ·· Benchmarking virtualenv-py3.14
[25.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[31.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[34.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--)....
[36.32%] ··· Running (bench_backtest.ModelPrepKernels.time_indicator_values_for_dates--)......
[39.15%] ··· Running (bench_backtest.StoreBuildKernels.time_symbol_array_store_from_frame--).......
[43.40%] ··· Running (bench_backtest.WalkforwardModelsCached.time_walkforward_models--).....
[45.75%] ··· Running (bench_backtest.WalkforwardProperCold.time_proper_cold_walkforward--)........
[49.53%] ··· Running (bench_slippage.WalkforwardVolatilitySlippage.time_walkforward_volatility_slippage--)..
[50.00%] · For pybroker commit e6e7230d (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.14
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop            113±3ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get            451±9μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  34.9±0.2μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.34±0.7μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        11.1±0.09ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          20.9±0.04ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf             24.3±1ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            12.4±0.8μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor             29.0±1μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio              18.6±2μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      21.7±0.2ms 
                 200      46.3±0.5ms 
                 500      98.0±0.5ms 
             =========== ============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== ============
              length              
             -------- ------------
               1000    8.45±0.2μs 
              100000    687±10μs  
             ======== ============

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== =============
              length               
             -------- -------------
               1000     7.32±0.2μs 
              100000   1.40±0.01ms 
             ======== =============

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== ============
              length              
             -------- ------------
               1000    7.22±0.1μs 
              100000    1.43±0ms  
             ======== ============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    3.36±0.04μs 
              100000     108±1μs   
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== ============
              length              
             -------- ------------
               1000    14.9±0.1μs 
              100000    3.07±0ms  
             ======== ============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.61±0.05μs 
              100000     680±4μs   
             ======== =============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      133±6ms  
                 200      354±20ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      10.2±0.06ms   25.4±0.3ms 
                 200       39.3±0.3ms   100±0.6ms  
                 500       101±0.9ms     257±2ms   
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         5.47±0.4ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           984±10μs
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           928±80μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         79.9±0.8μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= =========
              parallel_models           
             ----------------- ---------
                   False        834±3ms 
                    True        455±2ms 
             ================= =========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.87±0.02ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.38±0.01ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.58±0.02ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           91.0±1ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.20±0.01ms   2.27±0.02ms 
                  10      2.21±0.02ms   5.15±0.05ms 
             =========== ============= =============

[64.62%] ··· ...rnels.time_slice_symbol_array_store_by_dates                 ok
[64.62%] ··· =========== ==========
             --            n_days  
             ----------- ----------
              n_symbols     1260   
             =========== ==========
                  10      1.07±0ms 
             =========== ==========

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                260M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             80.7±0.5ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward           81.3±1ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals            242±1ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               268M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large          389±0.9ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models            420±2ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            425±1ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached            416±2ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            422±1ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window          101±0.5ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            766±2ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         77.7±0.6ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ===========
             --                symbols         
             --------- ------------------------
              windows       4            12    
             ========= ============ ===========
                 1      55.2±0.4ms   105±0.5ms 
                 3       77.7±2ms     164±9ms  
                 10     104±0.6ms     210±10ms 
             ========= ============ ===========

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.26±0.02ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        6.59±0.04ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         77.6±0.2ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.46±0.02ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         29.2±0.3ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.76±0.02ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage          318±0.8ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            318±1ms
[75.00%] · For pybroker commit eb9d3400 (round 2/2):
[75.00%] ·· Building for virtualenv-py3.14
[75.00%] ·· Benchmarking virtualenv-py3.14
[75.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop            113±3ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           453±70μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  33.8±0.2μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             4.02±0.5μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        11.0±0.04ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          20.8±0.03ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          22.9±0.03ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            12.1±0.4μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor             30.1±2μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio              19.6±1μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      21.6±0.3ms 
                 200      46.6±0.3ms 
                 500      99.2±0.8ms 
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== ============
              length              
             -------- ------------
               1000    8.49±0.1μs 
              100000    696±20μs  
             ======== ============

[81.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[81.60%] ··· ======== =============
              length               
             -------- -------------
               1000    7.43±0.07μs 
              100000   1.40±0.01ms 
             ======== =============

[82.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[82.08%] ··· ======== =============
              length               
             -------- -------------
               1000    7.14±0.04μs 
              100000     1.43±0ms  
             ======== =============

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    3.38±0.03μs 
              100000     117±8μs   
             ======== =============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000     15.1±0.1μs 
              100000   3.08±0.01ms 
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.61±0.05μs 
              100000     677±3μs   
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      135±2ms  
                 200      373±40ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      10.4±0.06ms   25.5±0.1ms 
                 200       40.1±0.3ms    102±1ms   
                 500       101±0.5ms     256±2ms   
             =========== ============= ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         5.52±0.8ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           984±20μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           953±80μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         81.1±0.6μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= =========
              parallel_models           
             ----------------- ---------
                   False        839±4ms 
                    True        453±3ms 
             ================= =========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.86±0.03ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.35±0.01ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.58±0.03ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           91.2±2ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.19±0.01ms   2.28±0.03ms 
                  10      2.21±0.02ms   5.11±0.06ms 
             =========== ============= =============

[89.62%] ··· ...rnels.time_slice_symbol_array_store_by_dates                 ok
[89.62%] ··· =========== ==========
             --            n_days  
             ----------- ----------
              n_symbols     1260   
             =========== ==========
                  10      1.07±0ms 
             =========== ==========

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                260M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward               81.5±1ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward           81.8±2ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals            243±1ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               268M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            387±1ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models          421±0.5ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models            416±4ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            414±2ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          425±0.4ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window          101±0.6ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            766±1ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward           78.1±1ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ========== ==========
             --               symbols       
             --------- ---------------------
              windows      4          12    
             ========= ========== ==========
                 1      55.8±1ms   108±2ms  
                 3      78.5±1ms   164±8ms  
                 10     104±1ms    217±10ms 
             ========= ========== ==========

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.29±0.02ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        6.60±0.07ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         77.3±0.2ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.48±0.03ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         28.8±0.7ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.75±0.01ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage            318±2ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            317±3ms

BENCHMARKS NOT SIGNIFICANTLY CHANGED.

Blocks only when a benchmark of at least 0.01s regresses by 1.25x. Shorter benchmarks are reported, never blocking: on this runner, identical code has produced ratios from 0.65 to 1.29 on sub-2ms benchmarks. Override via the bench-override PR label.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants