{"version":"v3","generated_at":"2026-10-04T06:17:59Z","script":"scripts/research/chart_analyzer_expert_study.py","method":"The expert layer: setups -> calibrated probability -> verdict (Chart Analyzer, Build it Better ET-29001).\n\nOne general study over many assets and timeframes (``scripts/research/chart_analyzer_expert_study.py``,\nartifact ``study_v3.json``) decided which structures and indicators matter; this module APPLIES that study\nto the chart in front of the visitor. Nothing is fitted per chart or per asset.\n\nMethod (fixed before the study was run; its results are published as found, good or poor):\n  * SETUPS: every pattern event of ``patterns.py`` (active for ACTIVE_BARS after its confirming bar), every\n    structure state/event of ``structures.py`` and the indicator states below, each a yes/no per bar.\n  * TARGET per timeframe: \"the close rises by UP% before it falls by DOWN% within WINDOW candles\" (first\n    barrier hit on closes; neither = no edge either way). Symmetric barriers, so the base rate sits near\n    one half and a rise is never the easy kind of target.\n  * MODEL: on the TRAIN years, each setup's log-odds of \"up first\" and of \"down first\" relative to the base\n    rate, shrunk toward zero by n/(n+K); a chart's raw probability is the base log-odds plus the sum over its\n    active setups (each setup type once).\n  * CALIBRATION on the CALIBRATE years, 2021-2022, one rising and one falling (never used to fit a weight):\n    raw probability -> 5-point bin -> the\n    share of that bin's cases that actually went that way, made monotone (pool-adjacent-violators).\n    The page shows THAT number. A bin with too few cases shows the base rate.\n  * VERDICT: READY TO POP when the calibrated P(up first) clears the base rate by GAP points AND its 95%\n    range sits above the base rate on at least MIN_CASES cases; READY TO DUMP mirrors it; else NO EDGE.\n  * PROOF on the TEST years: reliability (said vs happened per bin), Brier score against the base rate,\n    and the record of the verdicts themselves. Published in the artifact and on /chart-analyzer/study.","data":{"source":"Binance public spot market data (data-api.binance.vision), USDT pairs; 5d/1w/2w/1M candles built from the daily ones (candles.aggregate), 4h and 1h for the 60 most-traded pairs from 2021","asset_class":"crypto","symbols":258,"symbol_list":["0GUSDT","1000SATSUSDT","1INCHUSDT","1MBABYDOGEUSDT","2ZUSDT","AAVEUSDT","ACEUSDT","ADAUSDT","ADXUSDT","AIXBTUSDT","ALGOUSDT","ALICEUSDT","ALLOUSDT","ALTUSDT","AMPUSDT","ANIMEUSDT","APEUSDT","API3USDT","APTUSDT","ARBUSDT","ARKMUSDT","ARKUSDT","ARUSDT","ASTERUSDT","ASTRUSDT","ATOMUSDT","AUDIOUSDT","AUSDT","AVAUSDT","AVAXUSDT","AVNTUSDT","AXLUSDT","AXSUSDT","BABYUSDT","BANKUSDT","BARDUSDT","BBUSDT","BCHUSDT","BEAMXUSDT","BERAUSDT","BICOUSDT","BIOUSDT","BNBUSDT","BNTUSDT","BOMEUSDT","BONKUSDT","BROCCOLI714USDT","BTCUSDT","BTTCUSDT","CAKEUSDT","CELOUSDT","CETUSUSDT","CFGUSDT","CFXUSDT","CHIPUSDT","CHRUSDT","CHZUSDT","COMPUSDT","COTIUSDT","COWUSDT","CRVUSDT","CUSDT","CVXUSDT","DASHUSDT","DEXEUSDT","DODOUSDT","DOGEUSDT","DOTUSDT","DYDXUSDT","DYMUSDT","EDENUSDT","EDUUSDT","EIGENUSDT","ENAUSDT","ENJUSDT","ENSOUSDT","ENSUSDT","ESPUSDT","ETCUSDT","ETHFIUSDT","ETHUSDT","EULUSDT","FETUSDT","FFUSDT","FIDAUSDT","FILUSDT","FLOKIUSDT","FLOWUSDT","FOGOUSDT","FORMUSDT","FUSDT","GALAUSDT","GENIUSUSDT","GIGGLEUSDT","GLMRUSDT","GPSUSDT","GRTUSDT","GUNUSDT","GUSDT","HAEDALUSDT","HBARUSDT","HEIUSDT","HEMIUSDT","HMSTRUSDT","HUMAUSDT","ICPUSDT","IMXUSDT","INITUSDT","INJUSDT","IOSTUSDT","IOTAUSDT","IOUSDT","JASMYUSDT","JOEUSDT","JSTUSDT","JTOUSDT","JUPUSDT","JUVUSDT","KAIAUSDT","KAITOUSDT","KATUSDT","KAVAUSDT","KGSTUSDT","KITEUSDT","KMNOUSDT","LAUSDT","LDOUSDT","LINEAUSDT","LINKUSDT","LPTUSDT","LSKUSDT","LTCUSDT","LUMIAUSDT","LUNAUSDT","LUNCUSDT","MAGICUSDT","MANAUSDT","MANTRAUSDT","MEGAUSDT","MEMEUSDT","METISUSDT","METUSDT","MEUSDT","MINAUSDT","MIRAUSDT","MITOUSDT","MMTUSDT","MORPHOUSDT","MOVEUSDT","MOVRUSDT","MUBARAKUSDT","NEARUSDT","NEIROUSDT","NEOUSDT","NEXOUSDT","NIGHTUSDT","NILUSDT","NMRUSDT","NOMUSDT","OGUSDT","ONDOUSDT","ONEUSDT","OPENUSDT","OPGUSDT","OPNUSDT","OPUSDT","ORCAUSDT","ORDIUSDT","PARTIUSDT","PAXGUSDT","PENDLEUSDT","PENGUUSDT","PEOPLEUSDT","PEPEUSDT","PHAUSDT","PIXELUSDT","PLUMEUSDT","PNUTUSDT","POLUSDT","PROMUSDT","PROVEUSDT","PUMPUSDT","PYTHUSDT","QIUSDT","QNTUSDT","QUICKUSDT","RAREUSDT","RAYUSDT","REDUSDT","RENDERUSDT","REZUSDT","ROBOUSDT","RONINUSDT","ROSEUSDT","RSRUSDT","RUNEUSDT","RVNUSDT","SAGAUSDT","SAHARAUSDT","SANDUSDT","SEIUSDT","SENTUSDT","SHIBUSDT","SIGNUSDT","SKLUSDT","SKYUSDT","SNXUSDT","SOLUSDT","SOMIUSDT","SOPHUSDT","SPKUSDT","STEEMUSDT","STOUSDT","STRKUSDT","STXUSDT","SUIUSDT","SUNUSDT","SUPERUSDT","SUSDT","SUSHIUSDT","SXTUSDT","SYNUSDT","TAOUSDT","THETAUSDT","TIAUSDT","TLMUSDT","TNSRUSDT","TRBUSDT","TRUMPUSDT","TRXUSDT","TSTUSDT","TURBOUSDT","TUTUSDT","TWTUSDT","UNIUSDT","USUALUSDT","VELODROMEUSDT","VETUSDT","VIRTUALUSDT","VTHOUSDT","WCTUSDT","WIFUSDT","WLDUSDT","WLFIUSDT","WUSDT","XAIUSDT","XAUTUSDT","XLMUSDT","XPLUSDT","XRPUSDT","XTZUSDT","XVGUSDT","ZAMAUSDT","ZBTUSDT","ZECUSDT","ZENUSDT","ZKUSDT","ZROUSDT"],"universe_rule":"the Chart Analyzer v2 universe: top 300 Binance spot USDT pairs by 24h quote volume on 2026-09-29, stablecoins/fiat/wrapped/leveraged excluded","survivorship_note":"Only pairs still trading on the fetch day; delisted coins are missing, which flatters long-side results."},"split":{"train":"bars whose outcome window ends before 2021-01-01","calibrate":"bars from 2021-01-01 whose window ends before 2023-01-01 (2021 rose, 2022 fell)","test":"bars from 2023-01-01 on (held out: never used to fit a weight or a calibration)","short_history":"1h and 4h candles (cached from 2021), 2w and 1M candles (too few bars before 2021) use the same three-way split two years later: built on windows ending before 2023-01-01, calibrated to 2025-01-01 (1M: 2024-07-01), tested from there on; each timeframe block carries its own `split`.","per_timeframe":{"1h":{"train":"bars whose outcome window ends before 2023-01-01","calibrate":"bars from 2023-01-01 whose window ends before 2025-01-01","test":"bars from 2025-01-01 on (held out: never used to fit a weight or a calibration)"},"4h":{"train":"bars whose outcome window ends before 2023-01-01","calibrate":"bars from 2023-01-01 whose window ends before 2025-01-01","test":"bars from 2025-01-01 on (held out: never used to fit a weight or a calibration)"},"1d":{"train":"bars whose outcome window ends before 2021-01-01","calibrate":"bars from 2021-01-01 whose window ends before 2023-01-01","test":"bars from 2023-01-01 on (held out: never used to fit a weight or a calibration)"},"5d":{"train":"bars whose outcome window ends before 2021-01-01","calibrate":"bars from 2021-01-01 whose window ends before 2023-01-01","test":"bars from 2023-01-01 on (held out: never used to fit a weight or a calibration)"},"1w":{"train":"bars whose outcome window ends before 2021-01-01","calibrate":"bars from 2021-01-01 whose window ends before 2023-01-01","test":"bars from 2023-01-01 on (held out: never used to fit a weight or a calibration)"},"2w":{"train":"bars whose outcome window ends before 2023-01-01","calibrate":"bars from 2023-01-01 whose window ends before 2025-01-01","test":"bars from 2025-01-01 on (held out: never used to fit a weight or a calibration)"},"1M":{"train":"bars whose outcome window ends before 2023-01-01","calibrate":"bars from 2023-01-01 whose window ends before 2024-07-01","test":"bars from 2024-07-01 on (held out: never used to fit a weight or a calibration)"}}},"targets":{"1h":{"up_pct":3.0,"down_pct":3.0,"window":48},"4h":{"up_pct":5.0,"down_pct":5.0,"window":42},"1d":{"up_pct":10.0,"down_pct":10.0,"window":30},"5d":{"up_pct":15.0,"down_pct":15.0,"window":26},"1w":{"up_pct":20.0,"down_pct":20.0,"window":26},"2w":{"up_pct":25.0,"down_pct":25.0,"window":26},"1M":{"up_pct":30.0,"down_pct":30.0,"window":12}},"verdict_rule":{"gap":0.05,"min_cases":300,"bin_width":0.05,"shrink_k":200,"active_bars":10,"cross_bars":5,"min_feature_cases":100,"text":"READY TO POP when the calibrated probability of the rise coming first is at least 5 points above the base rate, its 95% range is above the base rate and its calibration bin holds at least 300 cases; READY TO DUMP mirrors it; otherwise NO EDGE."},"setups":{"bos_up":{"name":"Break of structure up","kind":"event","side":"bullish","group":"pattern","definition":"First close above the most recent confirmed swing high."},"bos_down":{"name":"Break of structure down","kind":"event","side":"bearish","group":"pattern","definition":"First close below the most recent confirmed swing low."},"double_bottom":{"name":"Double bottom","kind":"event","side":"bullish","group":"pattern","definition":"Two consecutive swing lows within 3% of each other, at least 5 bars apart, with a rise of at least 5% between them; fires on the first close above the highest high between them, within 30 bars of the second low."},"double_top":{"name":"Double top","kind":"event","side":"bearish","group":"pattern","definition":"Mirror of the double bottom: two swing highs within 3%, a drop of at least 5% between them; fires on the first close below the lowest low between them."},"inverse_head_shoulders":{"name":"Inverse head and shoulders","kind":"event","side":"bullish","group":"pattern","definition":"Three consecutive swing lows, the middle one at least 3% below both others, the outer two within 5% of each other; fires on the first close above the neckline through the two highs between them, within 30 bars of the right shoulder."},"head_shoulders":{"name":"Head and shoulders","kind":"event","side":"bearish","group":"pattern","definition":"Three consecutive swing highs, the middle one at least 3% above both others, the outer two within 5% of each other; fires on the first close below the neckline through the two lows between them, within 30 bars of the right shoulder."},"higher_highs_lows":{"name":"Higher highs and higher lows","kind":"event","side":"bullish","group":"pattern","definition":"The bar on which the last two swing highs AND the last two swing lows both become rising."},"lower_highs_lows":{"name":"Lower highs and lower lows","kind":"event","side":"bearish","group":"pattern","definition":"The bar on which the last two swing highs AND the last two swing lows both become falling."},"breakout_volume":{"name":"20-bar breakout on volume","kind":"event","side":"bullish","group":"pattern","definition":"First close above the highest high of the previous 20 bars on at least 1.5x their average volume."},"breakdown_volume":{"name":"20-bar breakdown on volume","kind":"event","side":"bearish","group":"pattern","definition":"First close below the lowest low of the previous 20 bars on at least 1.5x their average volume."},"bullish_engulfing":{"name":"Bullish engulfing after a drop","kind":"event","side":"bullish","group":"pattern","definition":"A green candle whose body covers the previous red candle's body, after 5 bars of decline."},"bearish_engulfing":{"name":"Bearish engulfing after a rise","kind":"event","side":"bearish","group":"pattern","definition":"A red candle whose body covers the previous green candle's body, after 5 bars of rise."},"ascending_triangle":{"name":"Ascending triangle breakout","kind":"event","side":"bullish","group":"pattern","definition":"Last two swing highs within 1.5% (flat top), last two swing lows rising at least 2%; fires on the first close above the flat top within 30 bars of the last swing high."},"descending_triangle":{"name":"Descending triangle breakdown","kind":"event","side":"bearish","group":"pattern","definition":"Last two swing lows within 1.5% (flat bottom), last two swing highs falling at least 2%; fires on the first close below the flat bottom within 30 bars of the last swing low."},"bull_flag":{"name":"Bull flag breakout","kind":"event","side":"bullish","group":"pattern","definition":"A rise of at least 15% in at most 10 bars (the pole), then 3 to 12 bars that stay below the pole top and give back at most half of it; fires on the first close above the pole top."},"bear_flag":{"name":"Bear flag breakdown","kind":"event","side":"bearish","group":"pattern","definition":"A drop of at least 15% in at most 10 bars, then 3 to 12 bars that stay above the pole bottom and give back at most half of it; fires on the first close below the pole bottom."},"at_support":{"name":"At support","kind":"state","side":"bullish","group":"structure","definition":"The close sits within 2.5% above a support level: two or more confirmed swing lows within 2% of each other in the last 250 bars."},"at_resistance":{"name":"At resistance","kind":"state","side":"bearish","group":"structure","definition":"The close sits within 2.5% below a resistance level: two or more confirmed swing highs within 2% of each other in the last 250 bars."},"support_break":{"name":"Support broken","kind":"event","side":"bearish","group":"structure","definition":"First close more than 1% below a support level (two or more swing lows within 2%)."},"resistance_break":{"name":"Resistance broken","kind":"event","side":"bullish","group":"structure","definition":"First close more than 1% above a resistance level (two or more swing highs within 2%)."},"uptrend_line_hold":{"name":"Above a rising trendline","kind":"state","side":"bullish","group":"structure","definition":"A rising line (log scale) through the lowest swing low of the last 120 bars and the most recent swing low, with every swing low in between on or above it; the close is above the line."},"downtrend_line_hold":{"name":"Below a falling trendline","kind":"state","side":"bearish","group":"structure","definition":"A falling line (log scale) through the highest swing high of the last 120 bars and the most recent swing high, with every swing high in between on or below it; the close is below it."},"uptrend_line_break":{"name":"Rising trendline broken","kind":"event","side":"bearish","group":"structure","definition":"First close more than 0.5% below a rising trendline that held until the previous bar."},"downtrend_line_break":{"name":"Falling trendline broken","kind":"event","side":"bullish","group":"structure","definition":"First close more than 0.5% above a falling trendline that capped price until the previous bar."},"in_rising_channel":{"name":"Inside a rising channel","kind":"state","side":"bullish","group":"structure","definition":"A rising trendline plus a parallel line (slope within 35%) through the highs with at least two touches; the close is between the two."},"in_falling_channel":{"name":"Inside a falling channel","kind":"state","side":"bearish","group":"structure","definition":"A falling trendline plus a parallel line through the lows with at least two touches; the close is between the two."},"at_channel_top":{"name":"At the top of a channel","kind":"state","side":"bearish","group":"structure","definition":"Inside a channel and the close within 2% of its upper line."},"at_channel_bottom":{"name":"At the bottom of a channel","kind":"state","side":"bullish","group":"structure","definition":"Inside a channel and the close within 2% of its lower line."},"rising_wedge_forming":{"name":"Rising wedge forming","kind":"state","side":"bearish","group":"structure","definition":"Both lines through the last two swing highs and the last two swing lows (60 bars) rise and converge within 2.5 formation lengths; the close is still inside."},"falling_wedge_forming":{"name":"Falling wedge forming","kind":"state","side":"bullish","group":"structure","definition":"Both lines fall and converge; the close is still inside."},"sym_triangle_forming":{"name":"Symmetrical triangle forming","kind":"state","side":"neutral","group":"structure","definition":"Upper line falls, lower line rises, they converge; the close is still inside."},"asc_triangle_forming":{"name":"Ascending triangle forming","kind":"state","side":"bullish","group":"structure","definition":"Flat upper line (slope below 0.08% a bar), rising lower line; the close is still inside."},"desc_triangle_forming":{"name":"Descending triangle forming","kind":"state","side":"bearish","group":"structure","definition":"Flat lower line, falling upper line; the close is still inside."},"rising_wedge_break_down":{"name":"Rising wedge broke down","kind":"event","side":"bearish","group":"structure","definition":"First close more than 0.5% below the lower line of a forming rising wedge."},"falling_wedge_break_up":{"name":"Falling wedge broke up","kind":"event","side":"bullish","group":"structure","definition":"First close more than 0.5% above the upper line of a forming falling wedge."},"sym_triangle_break_up":{"name":"Symmetrical triangle broke up","kind":"event","side":"bullish","group":"structure","definition":"First close more than 0.5% above the upper line of a forming symmetrical triangle."},"sym_triangle_break_down":{"name":"Symmetrical triangle broke down","kind":"event","side":"bearish","group":"structure","definition":"First close more than 0.5% below the lower line of a forming symmetrical triangle."},"rsi_oversold":{"name":"RSI oversold","kind":"state","side":"bullish","group":"indicator","definition":"RSI(14, Wilder) below 30 on this bar."},"rsi_overbought":{"name":"RSI overbought","kind":"state","side":"bearish","group":"indicator","definition":"RSI(14, Wilder) above 70 on this bar."},"macd_cross_up":{"name":"MACD crossed up","kind":"event","side":"bullish","group":"indicator","definition":"MACD(12,26,9) line crossed above its signal line on this bar (histogram from <= 0 to > 0). A separate confirmation, counted for 5 bars."},"macd_cross_down":{"name":"MACD crossed down","kind":"event","side":"bearish","group":"indicator","definition":"MACD line crossed below its signal line on this bar. Counted for 5 bars."},"macd_hist_rising":{"name":"MACD histogram rising","kind":"state","side":"bullish","group":"indicator","definition":"MACD histogram above the previous bar's."},"macd_hist_falling":{"name":"MACD histogram falling","kind":"state","side":"bearish","group":"indicator","definition":"MACD histogram below the previous bar's."},"above_sma50":{"name":"Above the 50-bar average","kind":"state","side":"bullish","group":"indicator","definition":"Close above the 50-bar simple moving average."},"below_sma50":{"name":"Below the 50-bar average","kind":"state","side":"bearish","group":"indicator","definition":"Close below the 50-bar simple moving average."},"above_sma200":{"name":"Above the 200-bar average","kind":"state","side":"bullish","group":"indicator","definition":"Close above the 200-bar simple moving average."},"below_sma200":{"name":"Below the 200-bar average","kind":"state","side":"bearish","group":"indicator","definition":"Close below the 200-bar simple moving average."},"golden_trend":{"name":"50 above 200 (golden)","kind":"state","side":"bullish","group":"indicator","definition":"The 50-bar average is above the 200-bar average."},"death_trend":{"name":"50 below 200 (death)","kind":"state","side":"bearish","group":"indicator","definition":"The 50-bar average is below the 200-bar average."},"bb_lower_touch":{"name":"At the lower Bollinger Band","kind":"state","side":"bullish","group":"indicator","definition":"Close at or below the lower Bollinger Band (20 bars, 2 standard deviations)."},"bb_upper_touch":{"name":"At the upper Bollinger Band","kind":"state","side":"bearish","group":"indicator","definition":"Close at or above the upper Bollinger Band."},"volume_surge":{"name":"Volume surge","kind":"state","side":"neutral","group":"indicator","definition":"This bar's volume is at least 1.5x the average of the previous 20 bars. Volume is ON by default and part of the rules: the breakout patterns require it, and it is a setup of its own."},"squeeze":{"name":"Volatility squeeze","kind":"state","side":"neutral","group":"indicator","definition":"The 20-bar high-low range is below 60% of its own 100-bar median: a coil, direction unknown."},"weekly_signal":{"name":"Weekly Signal","kind":"state","side":"bullish","group":"indicator","definition":"The /weekly-signal indicator: weekly RSI(14) below 40 with a rising weekly MACD histogram on the last completed week (weeks resampled from this chart's own candles; on a weekly chart, the bar itself). Its own pooled study is published on /weekly-signal and quoted here."}},"setup_count":54,"combinations_searched":{"setups":54,"timeframes":7,"sides":2,"models":7,"note":"One additive log-odds model per timeframe over all setups; no grid search, no selection among models, barrier sizes and all thresholds fixed before the run. Searching more would raise the chance that an edge is luck."},"timeframes":{"1h":{"covered":true,"symbols":60,"target":{"up_pct":3.0,"down_pct":3.0,"window":48},"split":{"train":"bars whose outcome window ends before 2023-01-01","calibrate":"bars from 2023-01-01 whose window ends before 2025-01-01","test":"bars from 2025-01-01 on (held out: never used to fit a weight or a calibration)"},"base":{"train":{"n":444044,"up":0.4295,"down":0.4486,"neither":0.1219,"range":["2021-01-01","2022-12-29"]},"calibrate":{"n":557882,"up":0.38,"down":0.3833,"neither":0.2367,"range":["2023-01-01","2024-12-29"]},"test":{"n":710454,"up":0.4037,"down":0.4262,"neither":0.1701,"range":["2025-01-01","2026-10-02"]}},"features":{"bos_up":{"name":"Break of structure up","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":118683,"up":0.4278,"down":0.4592,"ci95_up":[0.425,0.4306]},"test":{"n":184014,"up":0.4039,"down":0.4223,"ci95_up":[0.4017,0.4062]},"weight_up":-0.0068,"weight_down":0.0425,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"bos_down":{"name":"Break of structure down","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":119490,"up":0.4406,"down":0.4476,"ci95_up":[0.4378,0.4435]},"test":{"n":198189,"up":0.4107,"down":0.4275,"ci95_up":[0.4085,0.4128]},"weight_up":0.0452,"weight_down":-0.004,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"double_bottom":{"name":"Double bottom","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":12369,"up":0.4848,"down":0.502,"ci95_up":[0.476,0.4937]},"test":{"n":10978,"up":0.4475,"down":0.527,"ci95_up":[0.4382,0.4568]},"weight_up":0.2197,"weight_down":0.2108,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"double_top":{"name":"Double top","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":11496,"up":0.4968,"down":0.4873,"ci95_up":[0.4876,0.5059]},"test":{"n":11329,"up":0.4542,"down":0.5257,"ci95_up":[0.4451,0.4634]},"weight_up":0.2664,"weight_down":0.1529,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"inverse_head_shoulders":{"name":"Inverse head and shoulders","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":3390,"up":0.4997,"down":0.4552,"ci95_up":[0.4829,0.5165]},"test":{"n":3600,"up":0.505,"down":0.4172,"ci95_up":[0.4887,0.5213]},"weight_up":0.267,"weight_down":0.025,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"head_shoulders":{"name":"Head and shoulders","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":3240,"up":0.4833,"down":0.4836,"ci95_up":[0.4662,0.5006]},"test":{"n":4070,"up":0.4971,"down":0.4447,"ci95_up":[0.4817,0.5124]},"weight_up":0.2046,"weight_down":0.1327,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"higher_highs_lows":{"name":"Higher highs and higher lows","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":88173,"up":0.418,"down":0.4559,"ci95_up":[0.4147,0.4212]},"test":{"n":136013,"up":0.3913,"down":0.4313,"ci95_up":[0.3888,0.3939]},"weight_up":-0.0472,"weight_down":0.0293,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"lower_highs_lows":{"name":"Lower highs and lower lows","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":88317,"up":0.4346,"down":0.4399,"ci95_up":[0.4313,0.4379]},"test":{"n":141362,"up":0.403,"down":0.4274,"ci95_up":[0.4004,0.4055]},"weight_up":0.0208,"weight_down":-0.0352,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"breakout_volume":{"name":"20-bar breakout on volume","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":73043,"up":0.4462,"down":0.4562,"ci95_up":[0.4426,0.4499]},"test":{"n":114438,"up":0.4096,"down":0.4263,"ci95_up":[0.4068,0.4125]},"weight_up":0.0678,"weight_down":0.0305,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"breakdown_volume":{"name":"20-bar breakdown on volume","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":72709,"up":0.4406,"down":0.4578,"ci95_up":[0.437,0.4442]},"test":{"n":117216,"up":0.4097,"down":0.421,"ci95_up":[0.4069,0.4126]},"weight_up":0.0451,"weight_down":0.0369,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"bullish_engulfing":{"name":"Bullish engulfing after a drop","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":186444,"up":0.425,"down":0.4525,"ci95_up":[0.4227,0.4272]},"test":{"n":301999,"up":0.4033,"down":0.4281,"ci95_up":[0.4016,0.4051]},"weight_up":-0.0185,"weight_down":0.0157,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"bearish_engulfing":{"name":"Bearish engulfing after a rise","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":190034,"up":0.422,"down":0.4484,"ci95_up":[0.4198,0.4242]},"test":{"n":310144,"up":0.4027,"down":0.417,"ci95_up":[0.401,0.4044]},"weight_up":-0.0306,"weight_down":-0.0007,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"ascending_triangle":{"name":"Ascending triangle breakout","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":10511,"up":0.4161,"down":0.5029,"ci95_up":[0.4067,0.4256]},"test":{"n":12981,"up":0.4388,"down":0.4497,"ci95_up":[0.4303,0.4473]},"weight_up":-0.0537,"weight_down":0.2139,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"descending_triangle":{"name":"Descending triangle breakdown","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":9119,"up":0.4629,"down":0.4618,"ci95_up":[0.4527,0.4731]},"test":{"n":16205,"up":0.4505,"down":0.4302,"ci95_up":[0.4429,0.4582]},"weight_up":0.1322,"weight_down":0.052,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"bull_flag":{"name":"Bull flag breakout","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":3439,"up":0.4644,"down":0.5347,"ci95_up":[0.4478,0.4811]},"test":{"n":2128,"up":0.485,"down":0.5042,"ci95_up":[0.4638,0.5062]},"weight_up":0.1334,"weight_down":0.3266,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"bear_flag":{"name":"Bear flag breakdown","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":1675,"up":0.5397,"down":0.4591,"ci95_up":[0.5158,0.5635]},"test":{"n":1620,"up":0.5747,"down":0.4185,"ci95_up":[0.5505,0.5986]},"weight_up":0.3958,"weight_down":0.0379,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"at_support":{"name":"At support","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":177975,"up":0.3685,"down":0.41,"ci95_up":[0.3663,0.3707]},"test":{"n":341767,"up":0.3581,"down":0.3853,"ci95_up":[0.3565,0.3597]},"weight_up":-0.2545,"weight_down":-0.1576,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"at_resistance":{"name":"At resistance","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":177628,"up":0.3737,"down":0.4054,"ci95_up":[0.3714,0.3759]},"test":{"n":324398,"up":0.3633,"down":0.3755,"ci95_up":[0.3616,0.3649]},"weight_up":-0.2324,"weight_down":-0.1765,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"support_break":{"name":"Support broken","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":132563,"up":0.4271,"down":0.4631,"ci95_up":[0.4245,0.4298]},"test":{"n":223529,"up":0.4067,"down":0.4289,"ci95_up":[0.4047,0.4088]},"weight_up":-0.0097,"weight_down":0.0585,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"resistance_break":{"name":"Resistance broken","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":120326,"up":0.452,"down":0.4552,"ci95_up":[0.4492,0.4549]},"test":{"n":189225,"up":0.417,"down":0.4281,"ci95_up":[0.4148,0.4193]},"weight_up":0.0913,"weight_down":0.0266,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"uptrend_line_hold":{"name":"Above a rising trendline","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":100249,"up":0.4667,"down":0.4716,"ci95_up":[0.4637,0.4698]},"test":{"n":121665,"up":0.4289,"down":0.4824,"ci95_up":[0.4261,0.4317]},"weight_up":0.1504,"weight_down":0.0923,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"downtrend_line_hold":{"name":"Below a falling trendline","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":96315,"up":0.468,"down":0.4735,"ci95_up":[0.4649,0.4712]},"test":{"n":142079,"up":0.4232,"down":0.4746,"ci95_up":[0.4206,0.4258]},"weight_up":0.1555,"weight_down":0.0999,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"uptrend_line_break":{"name":"Rising trendline broken","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":56317,"up":0.4554,"down":0.4772,"ci95_up":[0.4513,0.4595]},"test":{"n":77691,"up":0.4229,"down":0.4776,"ci95_up":[0.4194,0.4264]},"weight_up":0.1047,"weight_down":0.1146,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"downtrend_line_break":{"name":"Falling trendline broken","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":53542,"up":0.4546,"down":0.4807,"ci95_up":[0.4504,0.4588]},"test":{"n":81230,"up":0.4244,"down":0.4701,"ci95_up":[0.421,0.4278]},"weight_up":0.1014,"weight_down":0.1284,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"in_rising_channel":{"name":"Inside a rising channel","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":42586,"up":0.4621,"down":0.4582,"ci95_up":[0.4574,0.4669]},"test":{"n":52605,"up":0.4218,"down":0.4704,"ci95_up":[0.4176,0.426]},"weight_up":0.1315,"weight_down":0.0384,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"in_falling_channel":{"name":"Inside a falling channel","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":36528,"up":0.455,"down":0.4654,"ci95_up":[0.4499,0.4601]},"test":{"n":64666,"up":0.4246,"down":0.4455,"ci95_up":[0.4208,0.4285]},"weight_up":0.1027,"weight_down":0.0672,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"at_channel_top":{"name":"At the top of a channel","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":21844,"up":0.4334,"down":0.4457,"ci95_up":[0.4269,0.44]},"test":{"n":42744,"up":0.4004,"down":0.4278,"ci95_up":[0.3957,0.405]},"weight_up":0.0159,"weight_down":-0.0116,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"at_channel_bottom":{"name":"At the bottom of a channel","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":24029,"up":0.4216,"down":0.4594,"ci95_up":[0.4153,0.4278]},"test":{"n":37314,"up":0.3986,"down":0.4452,"ci95_up":[0.3936,0.4036]},"weight_up":-0.0322,"weight_down":0.0431,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"rising_wedge_forming":{"name":"Rising wedge forming","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":5617,"up":0.4463,"down":0.4839,"ci95_up":[0.4334,0.4594]},"test":{"n":5802,"up":0.4293,"down":0.4845,"ci95_up":[0.4166,0.4421]},"weight_up":0.066,"weight_down":0.137,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"falling_wedge_forming":{"name":"Falling wedge forming","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":4818,"up":0.499,"down":0.4388,"ci95_up":[0.4849,0.5131]},"test":{"n":8223,"up":0.4418,"down":0.4591,"ci95_up":[0.4311,0.4526]},"weight_up":0.2686,"weight_down":-0.0382,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"sym_triangle_forming":{"name":"Symmetrical triangle forming","group":"structure","kind":"state","textbook_side":"neutral","included":true,"train":{"n":7069,"up":0.476,"down":0.4797,"ci95_up":[0.4644,0.4877]},"test":{"n":7547,"up":0.4304,"down":0.4749,"ci95_up":[0.4192,0.4416]},"weight_up":0.1827,"weight_down":0.1216,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"asc_triangle_forming":{"name":"Ascending triangle forming","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":13719,"up":0.4435,"down":0.4509,"ci95_up":[0.4352,0.4519]},"test":{"n":20723,"up":0.4013,"down":0.4215,"ci95_up":[0.3947,0.408]},"weight_up":0.0563,"weight_down":0.0092,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"desc_triangle_forming":{"name":"Descending triangle forming","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":12844,"up":0.4242,"down":0.4533,"ci95_up":[0.4157,0.4328]},"test":{"n":22965,"up":0.4077,"down":0.4343,"ci95_up":[0.4014,0.4141]},"weight_up":-0.0212,"weight_down":0.0186,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"rising_wedge_break_down":{"name":"Rising wedge broke down","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":14260,"up":0.4459,"down":0.4818,"ci95_up":[0.4377,0.454]},"test":{"n":15573,"up":0.4288,"down":0.4783,"ci95_up":[0.421,0.4365]},"weight_up":0.0656,"weight_down":0.1315,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"falling_wedge_break_up":{"name":"Falling wedge broke up","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":12607,"up":0.4663,"down":0.4708,"ci95_up":[0.4576,0.475]},"test":{"n":19973,"up":0.4532,"down":0.4423,"ci95_up":[0.4463,0.4601]},"weight_up":0.1467,"weight_down":0.0879,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"sym_triangle_break_up":{"name":"Symmetrical triangle broke up","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":16640,"up":0.4508,"down":0.4944,"ci95_up":[0.4433,0.4584]},"test":{"n":19439,"up":0.4372,"down":0.4697,"ci95_up":[0.4303,0.4442]},"weight_up":0.0856,"weight_down":0.1818,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"sym_triangle_break_down":{"name":"Symmetrical triangle broke down","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":16666,"up":0.4432,"down":0.5013,"ci95_up":[0.4357,0.4508]},"test":{"n":20259,"up":0.4355,"down":0.4717,"ci95_up":[0.4286,0.4423]},"weight_up":0.0552,"weight_down":0.2089,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"rsi_oversold":{"name":"RSI oversold","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":19272,"up":0.4613,"down":0.4395,"ci95_up":[0.4543,0.4684]},"test":{"n":33399,"up":0.4162,"down":0.4357,"ci95_up":[0.4109,0.4214]},"weight_up":0.1276,"weight_down":-0.0365,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"rsi_overbought":{"name":"RSI overbought","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":18120,"up":0.4377,"down":0.4667,"ci95_up":[0.4305,0.445]},"test":{"n":33491,"up":0.4495,"down":0.4072,"ci95_up":[0.4441,0.4548]},"weight_up":0.0332,"weight_down":0.0722,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"macd_cross_up":{"name":"MACD crossed up","group":"indicator","kind":"event","textbook_side":"bullish","included":true,"train":{"n":85900,"up":0.438,"down":0.4379,"ci95_up":[0.4347,0.4413]},"test":{"n":135831,"up":0.4062,"down":0.4258,"ci95_up":[0.4036,0.4088]},"weight_up":0.0346,"weight_down":-0.0433,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"macd_cross_down":{"name":"MACD crossed down","group":"indicator","kind":"event","textbook_side":"bearish","included":true,"train":{"n":86054,"up":0.4243,"down":0.4504,"ci95_up":[0.421,0.4276]},"test":{"n":135797,"up":0.4006,"down":0.428,"ci95_up":[0.398,0.4032]},"weight_up":-0.021,"weight_down":0.0073,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"macd_hist_rising":{"name":"MACD histogram rising","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":221695,"up":0.4265,"down":0.4518,"ci95_up":[0.4245,0.4286]},"test":{"n":355749,"up":0.4049,"down":0.4265,"ci95_up":[0.4033,0.4065]},"weight_up":-0.0121,"weight_down":0.0131,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"macd_hist_falling":{"name":"MACD histogram falling","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":221465,"up":0.4321,"down":0.4453,"ci95_up":[0.4301,0.4342]},"test":{"n":353889,"up":0.4023,"down":0.4259,"ci95_up":[0.4007,0.4039]},"weight_up":0.0107,"weight_down":-0.0133,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"above_sma50":{"name":"Above the 50-bar average","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":215233,"up":0.4276,"down":0.4516,"ci95_up":[0.4256,0.4297]},"test":{"n":335537,"up":0.4041,"down":0.4253,"ci95_up":[0.4024,0.4057]},"weight_up":-0.0076,"weight_down":0.0123,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"below_sma50":{"name":"Below the 50-bar average","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":227512,"up":0.4306,"down":0.4459,"ci95_up":[0.4286,0.4326]},"test":{"n":373738,"up":0.4031,"down":0.4269,"ci95_up":[0.4015,0.4046]},"weight_up":0.0045,"weight_down":-0.011,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"above_sma200":{"name":"Above the 200-bar average","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":206862,"up":0.437,"down":0.4493,"ci95_up":[0.4349,0.4392]},"test":{"n":312097,"up":0.4049,"down":0.4286,"ci95_up":[0.4032,0.4067]},"weight_up":0.0307,"weight_down":0.0027,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"below_sma200":{"name":"Below the 200-bar average","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":232005,"up":0.4188,"down":0.4495,"ci95_up":[0.4168,0.4208]},"test":{"n":393581,"up":0.4025,"down":0.4234,"ci95_up":[0.4009,0.404]},"weight_up":-0.0436,"weight_down":0.0034,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"golden_trend":{"name":"50 above 200 (golden)","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":208717,"up":0.4383,"down":0.4474,"ci95_up":[0.4362,0.4405]},"test":{"n":314238,"up":0.4031,"down":0.4256,"ci95_up":[0.4014,0.4048]},"weight_up":0.036,"weight_down":-0.0047,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"death_trend":{"name":"50 below 200 (death)","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":230152,"up":0.4175,"down":0.4511,"ci95_up":[0.4155,0.4195]},"test":{"n":391440,"up":0.4039,"down":0.4257,"ci95_up":[0.4024,0.4055]},"weight_up":-0.0491,"weight_down":0.0102,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"bb_lower_touch":{"name":"At the lower Bollinger Band","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":27568,"up":0.4428,"down":0.436,"ci95_up":[0.4369,0.4486]},"test":{"n":42674,"up":0.4136,"down":0.4229,"ci95_up":[0.4089,0.4183]},"weight_up":0.0535,"weight_down":-0.0508,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"bb_upper_touch":{"name":"At the upper Bollinger Band","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":26101,"up":0.4303,"down":0.4598,"ci95_up":[0.4243,0.4363]},"test":{"n":43983,"up":0.4255,"down":0.4193,"ci95_up":[0.4209,0.4301]},"weight_up":0.0034,"weight_down":0.045,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"volume_surge":{"name":"Volume surge","group":"indicator","kind":"state","textbook_side":"neutral","included":true,"train":{"n":73709,"up":0.4303,"down":0.4488,"ci95_up":[0.4268,0.4339]},"test":{"n":129898,"up":0.4147,"down":0.4267,"ci95_up":[0.412,0.4174]},"weight_up":0.0034,"weight_down":0.0006,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"squeeze":{"name":"Volatility squeeze","group":"indicator","kind":"state","textbook_side":"neutral","included":true,"train":{"n":53261,"up":0.392,"down":0.4621,"ci95_up":[0.3879,0.3962]},"test":{"n":88615,"up":0.3677,"down":0.4299,"ci95_up":[0.3645,0.3708]},"weight_up":-0.1543,"weight_down":0.0541,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"weekly_signal":{"name":"Weekly Signal","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":36423,"up":0.4333,"down":0.4527,"ci95_up":[0.4282,0.4384]},"test":{"n":66113,"up":0.4144,"down":0.425,"ci95_up":[0.4107,0.4182]},"weight_up":0.0153,"weight_down":0.0166,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null}},"calibration":{"up":[{"bin":0,"lo":0.0,"hi":0.05,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":1,"lo":0.05,"hi":0.1,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":2,"lo":0.1,"hi":0.15,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":3,"lo":0.15,"hi":0.2,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":4,"lo":0.2,"hi":0.25,"n":1189,"hits":271,"rate":0.2279,"ci95":[0.205,0.2526],"calibrated":0.2279,"usable":true,"bin_ci95":[0.205,0.2526],"pooled_n":1189,"pooled_hits":271,"pooled_bins":[4,4]},{"bin":5,"lo":0.25,"hi":0.3,"n":54455,"hits":13297,"rate":0.2442,"ci95":[0.2406,0.2478],"calibrated":0.2442,"usable":true,"bin_ci95":[0.2406,0.2478],"pooled_n":54455,"pooled_hits":13297,"pooled_bins":[5,5]},{"bin":6,"lo":0.3,"hi":0.35,"n":111945,"hits":33045,"rate":0.2952,"ci95":[0.2925,0.2979],"calibrated":0.2952,"usable":true,"bin_ci95":[0.2925,0.2979],"pooled_n":111945,"pooled_hits":33045,"pooled_bins":[6,6]},{"bin":7,"lo":0.35,"hi":0.4,"n":114594,"hits":43233,"rate":0.3773,"ci95":[0.3745,0.3801],"calibrated":0.3773,"usable":true,"bin_ci95":[0.3745,0.3801],"pooled_n":114594,"pooled_hits":43233,"pooled_bins":[7,7]},{"bin":8,"lo":0.4,"hi":0.45,"n":123770,"hits":52057,"rate":0.4206,"ci95":[0.4178,0.4233],"calibrated":0.4206,"usable":true,"bin_ci95":[0.4178,0.4233],"pooled_n":123770,"pooled_hits":52057,"pooled_bins":[8,8]},{"bin":9,"lo":0.45,"hi":0.5,"n":98602,"hits":44560,"rate":0.4519,"ci95":[0.4488,0.455],"calibrated":0.4519,"usable":true,"bin_ci95":[0.4488,0.455],"pooled_n":98602,"pooled_hits":44560,"pooled_bins":[9,9]},{"bin":10,"lo":0.5,"hi":0.55,"n":39480,"hits":18690,"rate":0.4734,"ci95":[0.4685,0.4783],"calibrated":0.4734,"usable":true,"bin_ci95":[0.4685,0.4783],"pooled_n":39480,"pooled_hits":18690,"pooled_bins":[10,10]},{"bin":11,"lo":0.55,"hi":0.6,"n":11450,"hits":5708,"rate":0.4985,"ci95":[0.4854,0.502],"calibrated":0.4937,"usable":true,"bin_ci95":[0.4894,0.5077],"pooled_n":13847,"pooled_hits":6836,"pooled_bins":[11,14]},{"bin":12,"lo":0.6,"hi":0.65,"n":2175,"hits":1038,"rate":0.4772,"ci95":[0.4854,0.502],"calibrated":0.4937,"usable":true,"bin_ci95":[0.4563,0.4983],"pooled_n":13847,"pooled_hits":6836,"pooled_bins":[11,14]},{"bin":13,"lo":0.65,"hi":0.7,"n":204,"hits":86,"rate":0.4216,"ci95":[0.4854,0.502],"calibrated":0.4937,"usable":false,"bin_ci95":[0.3559,0.4902],"pooled_n":13847,"pooled_hits":6836,"pooled_bins":[11,14]},{"bin":14,"lo":0.7,"hi":0.75,"n":18,"hits":4,"rate":0.2222,"ci95":[0.4854,0.502],"calibrated":0.4937,"usable":false,"bin_ci95":[0.09,0.4522],"pooled_n":13847,"pooled_hits":6836,"pooled_bins":[11,14]},{"bin":15,"lo":0.75,"hi":0.8,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":16,"lo":0.8,"hi":0.85,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":17,"lo":0.85,"hi":0.9,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":18,"lo":0.9,"hi":0.95,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":19,"lo":0.95,"hi":1.0,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false}],"down":[{"bin":0,"lo":0.0,"hi":0.05,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":1,"lo":0.05,"hi":0.1,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":2,"lo":0.1,"hi":0.15,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":3,"lo":0.15,"hi":0.2,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":4,"lo":0.2,"hi":0.25,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":5,"lo":0.25,"hi":0.3,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":6,"lo":0.3,"hi":0.35,"n":1060,"hits":249,"rate":0.2349,"ci95":[0.2104,0.2614],"calibrated":0.2349,"usable":true,"bin_ci95":[0.2104,0.2614],"pooled_n":1060,"pooled_hits":249,"pooled_bins":[6,6]},{"bin":7,"lo":0.35,"hi":0.4,"n":125063,"hits":32757,"rate":0.2619,"ci95":[0.2595,0.2644],"calibrated":0.2619,"usable":true,"bin_ci95":[0.2595,0.2644],"pooled_n":125063,"pooled_hits":32757,"pooled_bins":[7,7]},{"bin":8,"lo":0.4,"hi":0.45,"n":176892,"hits":67478,"rate":0.3815,"ci95":[0.3792,0.3837],"calibrated":0.3815,"usable":true,"bin_ci95":[0.3792,0.3837],"pooled_n":176892,"pooled_hits":67478,"pooled_bins":[8,8]},{"bin":9,"lo":0.45,"hi":0.5,"n":172454,"hits":75015,"rate":0.435,"ci95":[0.4326,0.4373],"calibrated":0.435,"usable":true,"bin_ci95":[0.4326,0.4373],"pooled_n":172454,"pooled_hits":75015,"pooled_bins":[9,9]},{"bin":10,"lo":0.5,"hi":0.55,"n":64451,"hits":29629,"rate":0.4597,"ci95":[0.4559,0.4636],"calibrated":0.4597,"usable":true,"bin_ci95":[0.4559,0.4636],"pooled_n":64451,"pooled_hits":29629,"pooled_bins":[10,10]},{"bin":11,"lo":0.55,"hi":0.6,"n":15240,"hits":7383,"rate":0.4844,"ci95":[0.4765,0.4924],"calibrated":0.4844,"usable":true,"bin_ci95":[0.4765,0.4924],"pooled_n":15240,"pooled_hits":7383,"pooled_bins":[11,11]},{"bin":12,"lo":0.6,"hi":0.65,"n":2448,"hits":1226,"rate":0.5008,"ci95":[0.4774,0.5149],"calibrated":0.4961,"usable":true,"bin_ci95":[0.481,0.5206],"pooled_n":2717,"pooled_hits":1348,"pooled_bins":[12,13]},{"bin":13,"lo":0.65,"hi":0.7,"n":269,"hits":122,"rate":0.4535,"ci95":[0.4774,0.5149],"calibrated":0.4961,"usable":false,"bin_ci95":[0.3951,0.5133],"pooled_n":2717,"pooled_hits":1348,"pooled_bins":[12,13]},{"bin":14,"lo":0.7,"hi":0.75,"n":5,"hits":5,"rate":1.0,"ci95":[0.5655,1.0],"calibrated":1.0,"usable":false,"bin_ci95":[0.5655,1.0],"pooled_n":5,"pooled_hits":5,"pooled_bins":[14,14]},{"bin":15,"lo":0.75,"hi":0.8,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":16,"lo":0.8,"hi":0.85,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":17,"lo":0.85,"hi":0.9,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":18,"lo":0.9,"hi":0.95,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":19,"lo":0.95,"hi":1.0,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false}],"base_up":0.38,"base_down":0.3833,"n":557882,"range":["2023-01-01","2024-12-29"]},"proof":{"n":710454,"range":["2025-01-01","2026-10-02"],"reliability_up":[{"bin":4,"lo":0.2,"hi":0.25,"n":1096,"said":0.2279,"happened":0.2719,"ci95":[0.2464,0.299]},{"bin":5,"lo":0.25,"hi":0.3,"n":56004,"said":0.2442,"happened":0.2897,"ci95":[0.286,0.2935]},{"bin":6,"lo":0.3,"hi":0.35,"n":121913,"said":0.2952,"happened":0.3423,"ci95":[0.3396,0.345]},{"bin":7,"lo":0.35,"hi":0.4,"n":149692,"said":0.3773,"happened":0.4021,"ci95":[0.3996,0.4045]},{"bin":8,"lo":0.4,"hi":0.45,"n":174350,"said":0.4206,"happened":0.4298,"ci95":[0.4275,0.4321]},{"bin":9,"lo":0.45,"hi":0.5,"n":134689,"said":0.4519,"happened":0.445,"ci95":[0.4423,0.4476]},{"bin":10,"lo":0.5,"hi":0.55,"n":54068,"said":0.4734,"happened":0.4585,"ci95":[0.4543,0.4627]},{"bin":11,"lo":0.55,"hi":0.6,"n":15576,"said":0.4937,"happened":0.4648,"ci95":[0.4569,0.4726]},{"bin":12,"lo":0.6,"hi":0.65,"n":2776,"said":0.4937,"happened":0.473,"ci95":[0.4545,0.4916]},{"bin":13,"lo":0.65,"hi":0.7,"n":277,"said":0.38,"happened":0.491,"ci95":[0.4326,0.5496]},{"bin":14,"lo":0.7,"hi":0.75,"n":12,"said":0.38,"happened":0.6667,"ci95":[0.3906,0.8619]},{"bin":15,"lo":0.75,"hi":0.8,"n":1,"said":0.38,"happened":0.0,"ci95":[0.0,0.7935]}],"reliability_down":[{"bin":6,"lo":0.3,"hi":0.35,"n":904,"said":0.2349,"happened":0.302,"ci95":[0.273,0.3327]},{"bin":7,"lo":0.35,"hi":0.4,"n":121295,"said":0.2619,"happened":0.2953,"ci95":[0.2927,0.2979]},{"bin":8,"lo":0.4,"hi":0.45,"n":227451,"said":0.3815,"happened":0.4213,"ci95":[0.4193,0.4233]},{"bin":9,"lo":0.45,"hi":0.5,"n":245261,"said":0.435,"happened":0.4664,"ci95":[0.4644,0.4683]},{"bin":10,"lo":0.5,"hi":0.55,"n":90470,"said":0.4597,"happened":0.4872,"ci95":[0.4839,0.4904]},{"bin":11,"lo":0.55,"hi":0.6,"n":21209,"said":0.4844,"happened":0.492,"ci95":[0.4853,0.4987]},{"bin":12,"lo":0.6,"hi":0.65,"n":3528,"said":0.4961,"happened":0.5164,"ci95":[0.4999,0.5329]},{"bin":13,"lo":0.65,"hi":0.7,"n":327,"said":0.3833,"happened":0.5015,"ci95":[0.4476,0.5554]},{"bin":14,"lo":0.7,"hi":0.75,"n":9,"said":0.3833,"happened":0.6667,"ci95":[0.3542,0.8794]}],"brier":{"up_model":0.23895,"up_base":0.24128,"down_model":0.24155,"down_base":0.2464},"verdicts":{"pop":{"n":157119,"hits":70809,"rate":0.4507,"ci95":[0.4482,0.4531],"base_rate":0.4037,"gap":0.047,"holds":true},"dump":{"n":217979,"hits":102844,"rate":0.4718,"ci95":[0.4697,0.4739],"base_rate":0.4262,"gap":0.0456,"holds":true},"no_edge":{"n":335356,"up_rate":0.3611,"down_rate":0.3743},"share_labelled":0.528},"non_overlapping":{"n":14825,"pop":{"n":3248,"hits":1400,"rate":0.431,"ci95":[0.4141,0.4481],"base_rate":0.3953,"gap":0.0357,"holds":true},"dump":{"n":4598,"hits":2199,"rate":0.4783,"ci95":[0.4638,0.4927],"base_rate":0.44,"gap":0.0383,"holds":true},"brier":{"up_model":0.23796,"up_base":0.23928}},"calibration_error_up":0.0224,"calibration_error_down":0.0333,"finding":"1h candles, 2025-01-01 to 2026-10-02, 710,454 held-out bars of 60 pairs: READY TO POP was given 157,119 times and the rise came first in 45.1% (all bars: 40.4%); READY TO DUMP 217,979 times, the fall first in 47.2% (all bars: 42.6%). The POP edge held out of sample. The DUMP edge held out of sample. Said-vs-happened gap across bins with 300+ cases: 2.2 points (up)."}},"4h":{"covered":true,"symbols":60,"target":{"up_pct":5.0,"down_pct":5.0,"window":42},"split":{"train":"bars whose outcome window ends before 2023-01-01","calibrate":"bars from 2023-01-01 whose window ends before 2025-01-01","test":"bars from 2025-01-01 on (held out: never used to fit a weight or a calibration)"},"base":{"train":{"n":110313,"up":0.4437,"down":0.4708,"neither":0.0855,"range":["2021-01-01","2022-12-24"]},"calibrate":{"n":138400,"up":0.4239,"down":0.4043,"neither":0.1718,"range":["2023-01-01","2024-12-24"]},"test":{"n":175850,"up":0.4253,"down":0.455,"neither":0.1197,"range":["2025-01-01","2026-09-27"]}},"features":{"bos_up":{"name":"Break of structure up","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":28568,"up":0.4427,"down":0.4805,"ci95_up":[0.4369,0.4485]},"test":{"n":43312,"up":0.4179,"down":0.4624,"ci95_up":[0.4133,0.4226]},"weight_up":-0.004,"weight_down":0.0388,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"bos_down":{"name":"Break of structure down","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":29167,"up":0.4511,"down":0.4645,"ci95_up":[0.4454,0.4568]},"test":{"n":48858,"up":0.4404,"down":0.4437,"ci95_up":[0.436,0.4448]},"weight_up":0.0298,"weight_down":-0.0253,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"double_bottom":{"name":"Double bottom","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":7278,"up":0.4551,"down":0.5196,"ci95_up":[0.4437,0.4665]},"test":{"n":10054,"up":0.4304,"down":0.5313,"ci95_up":[0.4207,0.4401]},"weight_up":0.0447,"weight_down":0.1903,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"double_top":{"name":"Double top","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":6764,"up":0.4797,"down":0.4908,"ci95_up":[0.4679,0.4917]},"test":{"n":10732,"up":0.4628,"down":0.4972,"ci95_up":[0.4534,0.4723]},"weight_up":0.1409,"weight_down":0.078,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"inverse_head_shoulders":{"name":"Inverse head and shoulders","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":1870,"up":0.4711,"down":0.4594,"ci95_up":[0.4486,0.4938]},"test":{"n":1922,"up":0.4391,"down":0.4953,"ci95_up":[0.4171,0.4614]},"weight_up":0.0998,"weight_down":-0.0415,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"head_shoulders":{"name":"Head and shoulders","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":1570,"up":0.4586,"down":0.5013,"ci95_up":[0.4341,0.4833]},"test":{"n":2370,"up":0.4414,"down":0.4945,"ci95_up":[0.4215,0.4614]},"weight_up":0.0534,"weight_down":0.1082,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"higher_highs_lows":{"name":"Higher highs and higher lows","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":21441,"up":0.4315,"down":0.4783,"ci95_up":[0.4248,0.4381]},"test":{"n":34295,"up":0.4199,"down":0.4521,"ci95_up":[0.4147,0.4251]},"weight_up":-0.0493,"weight_down":0.0299,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"lower_highs_lows":{"name":"Lower highs and lower lows","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":21605,"up":0.4408,"down":0.4656,"ci95_up":[0.4342,0.4474]},"test":{"n":35461,"up":0.4228,"down":0.4599,"ci95_up":[0.4176,0.4279]},"weight_up":-0.0117,"weight_down":-0.0207,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"breakout_volume":{"name":"20-bar breakout on volume","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":17539,"up":0.4492,"down":0.4935,"ci95_up":[0.4418,0.4565]},"test":{"n":29585,"up":0.429,"down":0.4606,"ci95_up":[0.4234,0.4346]},"weight_up":0.0219,"weight_down":0.0898,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"breakdown_volume":{"name":"20-bar breakdown on volume","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":15231,"up":0.4227,"down":0.4898,"ci95_up":[0.4149,0.4306]},"test":{"n":26596,"up":0.4389,"down":0.4351,"ci95_up":[0.4329,0.4449]},"weight_up":-0.0845,"weight_down":0.0751,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"bullish_engulfing":{"name":"Bullish engulfing after a drop","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":45255,"up":0.4395,"down":0.4678,"ci95_up":[0.4349,0.4441]},"test":{"n":76830,"up":0.4317,"down":0.4517,"ci95_up":[0.4282,0.4353]},"weight_up":-0.0169,"weight_down":-0.0119,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"bearish_engulfing":{"name":"Bearish engulfing after a rise","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":48302,"up":0.4287,"down":0.4795,"ci95_up":[0.4243,0.4331]},"test":{"n":76725,"up":0.4217,"down":0.4513,"ci95_up":[0.4182,0.4252]},"weight_up":-0.0608,"weight_down":0.0346,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"ascending_triangle":{"name":"Ascending triangle breakout","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":2380,"up":0.4534,"down":0.4794,"ci95_up":[0.4335,0.4734]},"test":{"n":3590,"up":0.3813,"down":0.4958,"ci95_up":[0.3656,0.3973]},"weight_up":0.036,"weight_down":0.0319,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"descending_triangle":{"name":"Descending triangle breakdown","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":2579,"up":0.442,"down":0.4847,"ci95_up":[0.423,0.4613]},"test":{"n":4445,"up":0.4461,"down":0.4515,"ci95_up":[0.4316,0.4608]},"weight_up":-0.0063,"weight_down":0.0516,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"bull_flag":{"name":"Bull flag breakout","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":2521,"up":0.4411,"down":0.543,"ci95_up":[0.4218,0.4606]},"test":{"n":2189,"up":0.4253,"down":0.5592,"ci95_up":[0.4047,0.4461]},"weight_up":-0.0098,"weight_down":0.2682,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"bear_flag":{"name":"Bear flag breakdown","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":2185,"up":0.5336,"down":0.4568,"ci95_up":[0.5127,0.5545]},"test":{"n":2383,"up":0.4763,"down":0.5166,"ci95_up":[0.4563,0.4964]},"weight_up":0.3307,"weight_down":-0.0518,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"at_support":{"name":"At support","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":18886,"up":0.3202,"down":0.3972,"ci95_up":[0.3136,0.3269]},"test":{"n":40144,"up":0.3737,"down":0.366,"ci95_up":[0.369,0.3784]},"weight_up":-0.5212,"weight_down":-0.2972,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"at_resistance":{"name":"At resistance","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":18064,"up":0.3467,"down":0.3691,"ci95_up":[0.3397,0.3536]},"test":{"n":35124,"up":0.3749,"down":0.3589,"ci95_up":[0.3699,0.38]},"weight_up":-0.4031,"weight_down":-0.4147,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"support_break":{"name":"Support broken","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":28224,"up":0.4065,"down":0.4851,"ci95_up":[0.4007,0.4122]},"test":{"n":49837,"up":0.4207,"down":0.4519,"ci95_up":[0.4163,0.425]},"weight_up":-0.1514,"weight_down":0.057,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"resistance_break":{"name":"Resistance broken","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":24028,"up":0.4616,"down":0.461,"ci95_up":[0.4553,0.4679]},"test":{"n":42211,"up":0.4129,"down":0.4478,"ci95_up":[0.4082,0.4176]},"weight_up":0.0716,"weight_down":-0.0389,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"uptrend_line_hold":{"name":"Above a rising trendline","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":30579,"up":0.4689,"down":0.4873,"ci95_up":[0.4634,0.4745]},"test":{"n":44108,"up":0.4358,"down":0.4775,"ci95_up":[0.4311,0.4404]},"weight_up":0.1011,"weight_down":0.0655,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"downtrend_line_hold":{"name":"Below a falling trendline","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":29583,"up":0.4496,"down":0.4957,"ci95_up":[0.444,0.4553]},"test":{"n":48594,"up":0.447,"down":0.4623,"ci95_up":[0.4426,0.4514]},"weight_up":0.0238,"weight_down":0.0992,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"uptrend_line_break":{"name":"Rising trendline broken","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":17294,"up":0.4629,"down":0.481,"ci95_up":[0.4555,0.4704]},"test":{"n":26254,"up":0.4512,"down":0.4586,"ci95_up":[0.4452,0.4573]},"weight_up":0.0767,"weight_down":0.0406,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"downtrend_line_break":{"name":"Falling trendline broken","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":15840,"up":0.4602,"down":0.4783,"ci95_up":[0.4525,0.468]},"test":{"n":25372,"up":0.4407,"down":0.4723,"ci95_up":[0.4346,0.4468]},"weight_up":0.0659,"weight_down":0.0299,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"in_rising_channel":{"name":"Inside a rising channel","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":8079,"up":0.465,"down":0.4762,"ci95_up":[0.4542,0.4759]},"test":{"n":12030,"up":0.4223,"down":0.4434,"ci95_up":[0.4135,0.4311]},"weight_up":0.084,"weight_down":0.021,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"in_falling_channel":{"name":"Inside a falling channel","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":5892,"up":0.4084,"down":0.5008,"ci95_up":[0.3959,0.421]},"test":{"n":13663,"up":0.4282,"down":0.4287,"ci95_up":[0.42,0.4366]},"weight_up":-0.1399,"weight_down":0.1164,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"at_channel_top":{"name":"At the top of a channel","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":1808,"up":0.4071,"down":0.4215,"ci95_up":[0.3847,0.4299]},"test":{"n":4975,"up":0.4207,"down":0.3592,"ci95_up":[0.4071,0.4345]},"weight_up":-0.135,"weight_down":-0.1799,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"at_channel_bottom":{"name":"At the bottom of a channel","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":2063,"up":0.427,"down":0.4513,"ci95_up":[0.4059,0.4485]},"test":{"n":4658,"up":0.3772,"down":0.392,"ci95_up":[0.3634,0.3912]},"weight_up":-0.0618,"weight_down":-0.0716,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"rising_wedge_forming":{"name":"Rising wedge forming","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":1938,"up":0.4365,"down":0.5196,"ci95_up":[0.4146,0.4587]},"test":{"n":1955,"up":0.401,"down":0.4864,"ci95_up":[0.3795,0.4229]},"weight_up":-0.0264,"weight_down":0.1771,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"falling_wedge_forming":{"name":"Falling wedge forming","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":1262,"up":0.4208,"down":0.5214,"ci95_up":[0.3938,0.4482]},"test":{"n":2843,"up":0.4615,"down":0.4608,"ci95_up":[0.4432,0.4798]},"weight_up":-0.0807,"weight_down":0.1749,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"sym_triangle_forming":{"name":"Symmetrical triangle forming","group":"structure","kind":"state","textbook_side":"neutral","included":true,"train":{"n":2882,"up":0.4251,"down":0.5354,"ci95_up":[0.4071,0.4432]},"test":{"n":3764,"up":0.42,"down":0.5186,"ci95_up":[0.4044,0.4359]},"weight_up":-0.071,"weight_down":0.2419,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"asc_triangle_forming":{"name":"Ascending triangle forming","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":2243,"up":0.3883,"down":0.4579,"ci95_up":[0.3684,0.4087]},"test":{"n":3908,"up":0.3823,"down":0.4289,"ci95_up":[0.3672,0.3976]},"weight_up":-0.2095,"weight_down":-0.0477,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"desc_triangle_forming":{"name":"Descending triangle forming","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":2021,"up":0.3751,"down":0.4859,"ci95_up":[0.3542,0.3964]},"test":{"n":3731,"up":0.4154,"down":0.4074,"ci95_up":[0.3997,0.4313]},"weight_up":-0.2588,"weight_down":0.0551,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"rising_wedge_break_down":{"name":"Rising wedge broke down","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":5059,"up":0.4699,"down":0.4902,"ci95_up":[0.4561,0.4836]},"test":{"n":5488,"up":0.4076,"down":0.479,"ci95_up":[0.3947,0.4207]},"weight_up":0.1014,"weight_down":0.0748,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"falling_wedge_break_up":{"name":"Falling wedge broke up","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":3780,"up":0.4291,"down":0.5058,"ci95_up":[0.4134,0.4449]},"test":{"n":6861,"up":0.4378,"down":0.4893,"ci95_up":[0.4261,0.4496]},"weight_up":-0.0564,"weight_down":0.1332,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"sym_triangle_break_up":{"name":"Symmetrical triangle broke up","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":6118,"up":0.4412,"down":0.5103,"ci95_up":[0.4288,0.4536]},"test":{"n":9192,"up":0.4304,"down":0.4976,"ci95_up":[0.4203,0.4405]},"weight_up":-0.01,"weight_down":0.1531,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"sym_triangle_break_down":{"name":"Symmetrical triangle broke down","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":6833,"up":0.4566,"down":0.5043,"ci95_up":[0.4448,0.4684]},"test":{"n":9404,"up":0.4087,"down":0.5197,"ci95_up":[0.3988,0.4186]},"weight_up":0.0507,"weight_down":0.1304,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"rsi_oversold":{"name":"RSI oversold","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":4897,"up":0.4682,"down":0.4329,"ci95_up":[0.4543,0.4822]},"test":{"n":8623,"up":0.4832,"down":0.4242,"ci95_up":[0.4727,0.4938]},"weight_up":0.0951,"weight_down":-0.147,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"rsi_overbought":{"name":"RSI overbought","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":4858,"up":0.4399,"down":0.4965,"ci95_up":[0.426,0.4539]},"test":{"n":8782,"up":0.4565,"down":0.4236,"ci95_up":[0.4461,0.4669]},"weight_up":-0.0148,"weight_down":0.0989,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"macd_cross_up":{"name":"MACD crossed up","group":"indicator","kind":"event","textbook_side":"bullish","included":true,"train":{"n":21309,"up":0.4518,"down":0.4613,"ci95_up":[0.4451,0.4585]},"test":{"n":32937,"up":0.4321,"down":0.445,"ci95_up":[0.4268,0.4375]},"weight_up":0.0324,"weight_down":-0.038,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"macd_cross_down":{"name":"MACD crossed down","group":"indicator","kind":"event","textbook_side":"bearish","included":true,"train":{"n":21285,"up":0.4584,"down":0.4553,"ci95_up":[0.4517,0.4651]},"test":{"n":32860,"up":0.4209,"down":0.4538,"ci95_up":[0.4156,0.4263]},"weight_up":0.0588,"weight_down":-0.062,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"macd_hist_rising":{"name":"MACD histogram rising","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":55237,"up":0.4345,"down":0.4776,"ci95_up":[0.4304,0.4386]},"test":{"n":88640,"up":0.4312,"down":0.449,"ci95_up":[0.428,0.4345]},"weight_up":-0.0372,"weight_down":0.027,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"macd_hist_falling":{"name":"MACD histogram falling","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":54192,"up":0.4483,"down":0.4674,"ci95_up":[0.4441,0.4525]},"test":{"n":86394,"up":0.4193,"down":0.4601,"ci95_up":[0.416,0.4226]},"weight_up":0.0185,"weight_down":-0.0136,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"above_sma50":{"name":"Above the 50-bar average","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":51514,"up":0.4553,"down":0.4662,"ci95_up":[0.451,0.4596]},"test":{"n":76975,"up":0.41,"down":0.4606,"ci95_up":[0.4065,0.4135]},"weight_up":0.0466,"weight_down":-0.0184,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"below_sma50":{"name":"Below the 50-bar average","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":57525,"up":0.428,"down":0.4786,"ci95_up":[0.4239,0.432]},"test":{"n":97698,"up":0.4375,"down":0.4493,"ci95_up":[0.4344,0.4406]},"weight_up":-0.0638,"weight_down":0.0313,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"above_sma200":{"name":"Above the 200-bar average","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":43197,"up":0.4628,"down":0.4623,"ci95_up":[0.4581,0.4675]},"test":{"n":68659,"up":0.425,"down":0.436,"ci95_up":[0.4213,0.4287]},"weight_up":0.0766,"weight_down":-0.0338,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"below_sma200":{"name":"Below the 200-bar average","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":61942,"up":0.4185,"down":0.4844,"ci95_up":[0.4146,0.4224]},"test":{"n":102303,"up":0.4271,"down":0.4627,"ci95_up":[0.4241,0.4301]},"weight_up":-0.1026,"weight_down":0.0544,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"golden_trend":{"name":"50 above 200 (golden)","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":44361,"up":0.4646,"down":0.458,"ci95_up":[0.46,0.4692]},"test":{"n":68332,"up":0.4231,"down":0.4354,"ci95_up":[0.4194,0.4268]},"weight_up":0.0839,"weight_down":-0.0511,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"death_trend":{"name":"50 below 200 (death)","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":60778,"up":0.4163,"down":0.488,"ci95_up":[0.4124,0.4202]},"test":{"n":102630,"up":0.4283,"down":0.463,"ci95_up":[0.4253,0.4313]},"weight_up":-0.1115,"weight_down":0.0686,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"bb_lower_touch":{"name":"At the lower Bollinger Band","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":6677,"up":0.4563,"down":0.4596,"ci95_up":[0.4444,0.4683]},"test":{"n":10796,"up":0.4288,"down":0.4562,"ci95_up":[0.4195,0.4381]},"weight_up":0.0496,"weight_down":-0.0436,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"bb_upper_touch":{"name":"At the upper Bollinger Band","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":6864,"up":0.4429,"down":0.4851,"ci95_up":[0.4312,0.4547]},"test":{"n":11324,"up":0.4415,"down":0.4498,"ci95_up":[0.4324,0.4507]},"weight_up":-0.0032,"weight_down":0.0558,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"volume_surge":{"name":"Volume surge","group":"indicator","kind":"state","textbook_side":"neutral","included":true,"train":{"n":17365,"up":0.4485,"down":0.4674,"ci95_up":[0.4411,0.4559]},"test":{"n":31564,"up":0.4433,"down":0.4448,"ci95_up":[0.4378,0.4488]},"weight_up":0.0192,"weight_down":-0.0136,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"squeeze":{"name":"Volatility squeeze","group":"indicator","kind":"state","textbook_side":"neutral","included":true,"train":{"n":13232,"up":0.4114,"down":0.4982,"ci95_up":[0.4031,0.4198]},"test":{"n":20240,"up":0.4603,"down":0.4136,"ci95_up":[0.4535,0.4672]},"weight_up":-0.1299,"weight_down":0.108,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"weekly_signal":{"name":"Weekly Signal","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":9187,"up":0.4106,"down":0.4844,"ci95_up":[0.4006,0.4207]},"test":{"n":17853,"up":0.4402,"down":0.4538,"ci95_up":[0.4329,0.4475]},"weight_up":-0.1325,"weight_down":0.0533,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null}},"calibration":{"up":[{"bin":0,"lo":0.0,"hi":0.05,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":1,"lo":0.05,"hi":0.1,"n":10,"hits":0,"rate":0.0,"ci95":[-0.0,0.2775],"calibrated":0.0,"usable":false,"bin_ci95":[-0.0,0.2775],"pooled_n":10,"pooled_hits":0,"pooled_bins":[1,1]},{"bin":2,"lo":0.1,"hi":0.15,"n":1159,"hits":255,"rate":0.22,"ci95":[0.1971,0.2448],"calibrated":0.22,"usable":true,"bin_ci95":[0.1971,0.2448],"pooled_n":1159,"pooled_hits":255,"pooled_bins":[2,2]},{"bin":3,"lo":0.15,"hi":0.2,"n":6362,"hits":1588,"rate":0.2496,"ci95":[0.2391,0.2604],"calibrated":0.2496,"usable":true,"bin_ci95":[0.2391,0.2604],"pooled_n":6362,"pooled_hits":1588,"pooled_bins":[3,3]},{"bin":4,"lo":0.2,"hi":0.25,"n":11307,"hits":3609,"rate":0.3192,"ci95":[0.3107,0.3278],"calibrated":0.3192,"usable":true,"bin_ci95":[0.3107,0.3278],"pooled_n":11307,"pooled_hits":3609,"pooled_bins":[4,4]},{"bin":5,"lo":0.25,"hi":0.3,"n":15946,"hits":5993,"rate":0.3758,"ci95":[0.3683,0.3834],"calibrated":0.3758,"usable":true,"bin_ci95":[0.3683,0.3834],"pooled_n":15946,"pooled_hits":5993,"pooled_bins":[5,5]},{"bin":6,"lo":0.3,"hi":0.35,"n":19301,"hits":8260,"rate":0.428,"ci95":[0.421,0.435],"calibrated":0.428,"usable":true,"bin_ci95":[0.421,0.435],"pooled_n":19301,"pooled_hits":8260,"pooled_bins":[6,6]},{"bin":7,"lo":0.35,"hi":0.4,"n":24552,"hits":11125,"rate":0.4531,"ci95":[0.4469,0.4594],"calibrated":0.4531,"usable":true,"bin_ci95":[0.4469,0.4594],"pooled_n":24552,"pooled_hits":11125,"pooled_bins":[7,7]},{"bin":8,"lo":0.4,"hi":0.45,"n":19195,"hits":8772,"rate":0.457,"ci95":[0.45,0.464],"calibrated":0.457,"usable":true,"bin_ci95":[0.45,0.464],"pooled_n":19195,"pooled_hits":8772,"pooled_bins":[8,8]},{"bin":9,"lo":0.45,"hi":0.5,"n":20644,"hits":9614,"rate":0.4657,"ci95":[0.4589,0.4725],"calibrated":0.4657,"usable":true,"bin_ci95":[0.4589,0.4725],"pooled_n":20644,"pooled_hits":9614,"pooled_bins":[9,9]},{"bin":10,"lo":0.5,"hi":0.55,"n":17468,"hits":8298,"rate":0.475,"ci95":[0.4677,0.4815],"calibrated":0.4746,"usable":true,"bin_ci95":[0.4676,0.4825],"pooled_n":19924,"pooled_hits":9456,"pooled_bins":[10,12]},{"bin":11,"lo":0.55,"hi":0.6,"n":2406,"hits":1137,"rate":0.4726,"ci95":[0.4677,0.4815],"calibrated":0.4746,"usable":true,"bin_ci95":[0.4527,0.4925],"pooled_n":19924,"pooled_hits":9456,"pooled_bins":[10,12]},{"bin":12,"lo":0.6,"hi":0.65,"n":50,"hits":21,"rate":0.42,"ci95":[0.4677,0.4815],"calibrated":0.4746,"usable":false,"bin_ci95":[0.2937,0.5577],"pooled_n":19924,"pooled_hits":9456,"pooled_bins":[10,12]},{"bin":13,"lo":0.65,"hi":0.7,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":14,"lo":0.7,"hi":0.75,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":15,"lo":0.75,"hi":0.8,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":16,"lo":0.8,"hi":0.85,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":17,"lo":0.85,"hi":0.9,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":18,"lo":0.9,"hi":0.95,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":19,"lo":0.95,"hi":1.0,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false}],"down":[{"bin":0,"lo":0.0,"hi":0.05,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":1,"lo":0.05,"hi":0.1,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":2,"lo":0.1,"hi":0.15,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":3,"lo":0.15,"hi":0.2,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":4,"lo":0.2,"hi":0.25,"n":12,"hits":2,"rate":0.1667,"ci95":[0.1256,0.152],"calibrated":0.1382,"usable":false,"bin_ci95":[0.047,0.448],"pooled_n":2626,"pooled_hits":363,"pooled_bins":[4,5]},{"bin":5,"lo":0.25,"hi":0.3,"n":2614,"hits":361,"rate":0.1381,"ci95":[0.1256,0.152],"calibrated":0.1382,"usable":true,"bin_ci95":[0.1254,0.1519],"pooled_n":2626,"pooled_hits":363,"pooled_bins":[4,5]},{"bin":6,"lo":0.3,"hi":0.35,"n":7357,"hits":1726,"rate":0.2346,"ci95":[0.2251,0.2444],"calibrated":0.2346,"usable":true,"bin_ci95":[0.2251,0.2444],"pooled_n":7357,"pooled_hits":1726,"pooled_bins":[6,6]},{"bin":7,"lo":0.35,"hi":0.4,"n":14888,"hits":5037,"rate":0.3383,"ci95":[0.3308,0.346],"calibrated":0.3383,"usable":true,"bin_ci95":[0.3308,0.346],"pooled_n":14888,"pooled_hits":5037,"pooled_bins":[7,7]},{"bin":8,"lo":0.4,"hi":0.45,"n":24128,"hits":9353,"rate":0.3876,"ci95":[0.3815,0.3938],"calibrated":0.3876,"usable":true,"bin_ci95":[0.3815,0.3938],"pooled_n":24128,"pooled_hits":9353,"pooled_bins":[8,8]},{"bin":9,"lo":0.45,"hi":0.5,"n":36911,"hits":16077,"rate":0.4356,"ci95":[0.4305,0.4406],"calibrated":0.4356,"usable":true,"bin_ci95":[0.4305,0.4406],"pooled_n":36911,"pooled_hits":16077,"pooled_bins":[9,9]},{"bin":10,"lo":0.5,"hi":0.55,"n":34957,"hits":15590,"rate":0.446,"ci95":[0.4414,0.4499],"calibrated":0.4457,"usable":true,"bin_ci95":[0.4408,0.4512],"pooled_n":52490,"pooled_hits":23393,"pooled_bins":[10,14]},{"bin":11,"lo":0.55,"hi":0.6,"n":14844,"hits":6666,"rate":0.4491,"ci95":[0.4414,0.4499],"calibrated":0.4457,"usable":true,"bin_ci95":[0.4411,0.4571],"pooled_n":52490,"pooled_hits":23393,"pooled_bins":[10,14]},{"bin":12,"lo":0.6,"hi":0.65,"n":2511,"hits":1067,"rate":0.4249,"ci95":[0.4414,0.4499],"calibrated":0.4457,"usable":true,"bin_ci95":[0.4057,0.4444],"pooled_n":52490,"pooled_hits":23393,"pooled_bins":[10,14]},{"bin":13,"lo":0.65,"hi":0.7,"n":171,"hits":68,"rate":0.3977,"ci95":[0.4414,0.4499],"calibrated":0.4457,"usable":false,"bin_ci95":[0.3273,0.4725],"pooled_n":52490,"pooled_hits":23393,"pooled_bins":[10,14]},{"bin":14,"lo":0.7,"hi":0.75,"n":7,"hits":2,"rate":0.2857,"ci95":[0.4414,0.4499],"calibrated":0.4457,"usable":false,"bin_ci95":[0.0822,0.6411],"pooled_n":52490,"pooled_hits":23393,"pooled_bins":[10,14]},{"bin":15,"lo":0.75,"hi":0.8,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":16,"lo":0.8,"hi":0.85,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":17,"lo":0.85,"hi":0.9,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":18,"lo":0.9,"hi":0.95,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":19,"lo":0.95,"hi":1.0,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false}],"base_up":0.4239,"base_down":0.4043,"n":138400,"range":["2023-01-01","2024-12-24"]},"proof":{"n":175850,"range":["2025-01-01","2026-09-27"],"reliability_up":[{"bin":1,"lo":0.05,"hi":0.1,"n":8,"said":0.4239,"happened":0.625,"ci95":[0.3057,0.8632]},{"bin":2,"lo":0.1,"hi":0.15,"n":829,"said":0.22,"happened":0.3293,"ci95":[0.2982,0.362]},{"bin":3,"lo":0.15,"hi":0.2,"n":5605,"said":0.2496,"happened":0.3072,"ci95":[0.2953,0.3194]},{"bin":4,"lo":0.2,"hi":0.25,"n":12819,"said":0.3192,"happened":0.3665,"ci95":[0.3582,0.3749]},{"bin":5,"lo":0.25,"hi":0.3,"n":20930,"said":0.3758,"happened":0.3998,"ci95":[0.3931,0.4064]},{"bin":6,"lo":0.3,"hi":0.35,"n":29164,"said":0.428,"happened":0.4301,"ci95":[0.4244,0.4357]},{"bin":7,"lo":0.35,"hi":0.4,"n":37209,"said":0.4531,"happened":0.4551,"ci95":[0.45,0.4601]},{"bin":8,"lo":0.4,"hi":0.45,"n":26597,"said":0.457,"happened":0.4417,"ci95":[0.4357,0.4477]},{"bin":9,"lo":0.45,"hi":0.5,"n":22845,"said":0.4657,"happened":0.4376,"ci95":[0.4312,0.444]},{"bin":10,"lo":0.5,"hi":0.55,"n":17263,"said":0.4746,"happened":0.4298,"ci95":[0.4225,0.4372]},{"bin":11,"lo":0.55,"hi":0.6,"n":2534,"said":0.4746,"happened":0.4163,"ci95":[0.3973,0.4356]},{"bin":12,"lo":0.6,"hi":0.65,"n":47,"said":0.4239,"happened":0.5532,"ci95":[0.4125,0.6859]}],"reliability_down":[{"bin":4,"lo":0.2,"hi":0.25,"n":5,"said":0.4043,"happened":0.0,"ci95":[-0.0,0.4345]},{"bin":5,"lo":0.25,"hi":0.3,"n":2247,"said":0.1382,"happened":0.1344,"ci95":[0.1209,0.1491]},{"bin":6,"lo":0.3,"hi":0.35,"n":6501,"said":0.2346,"happened":0.2286,"ci95":[0.2185,0.2389]},{"bin":7,"lo":0.35,"hi":0.4,"n":13467,"said":0.3383,"happened":0.3608,"ci95":[0.3527,0.369]},{"bin":8,"lo":0.4,"hi":0.45,"n":26271,"said":0.3876,"happened":0.4302,"ci95":[0.4242,0.4362]},{"bin":9,"lo":0.45,"hi":0.5,"n":43453,"said":0.4356,"happened":0.4714,"ci95":[0.4667,0.4761]},{"bin":10,"lo":0.5,"hi":0.55,"n":52721,"said":0.4457,"happened":0.4898,"ci95":[0.4855,0.4941]},{"bin":11,"lo":0.55,"hi":0.6,"n":25991,"said":0.4457,"happened":0.5096,"ci95":[0.5035,0.5157]},{"bin":12,"lo":0.6,"hi":0.65,"n":4852,"said":0.4457,"happened":0.4864,"ci95":[0.4723,0.5005]},{"bin":13,"lo":0.65,"hi":0.7,"n":334,"said":0.4043,"happened":0.4341,"ci95":[0.382,0.4877]},{"bin":14,"lo":0.7,"hi":0.75,"n":8,"said":0.4043,"happened":0.625,"ci95":[0.3057,0.8632]}],"brier":{"up_model":0.24412,"up_base":0.24442,"down_model":0.24496,"down_base":0.25054},"verdicts":{"pop":{"n":19797,"hits":8475,"rate":0.4281,"ci95":[0.4212,0.435],"base_rate":0.4253,"gap":0.0028,"holds":false},"dump":{"n":0,"hits":0,"rate":null,"ci95":null,"base_rate":0.455,"gap":null,"holds":false},"no_edge":{"n":156053,"up_rate":0.4249,"down_rate":0.4493},"share_labelled":0.1126},"non_overlapping":{"n":4212,"pop":{"n":479,"hits":157,"rate":0.3278,"ci95":[0.2872,0.371],"base_rate":0.4247,"gap":-0.097,"holds":false},"dump":{"n":0,"hits":0,"rate":null,"ci95":null,"base_rate":0.4589,"gap":null,"holds":false},"brier":{"up_model":0.24702,"up_base":0.24434}},"calibration_error_up":0.0206,"calibration_error_down":0.0411,"finding":"4h candles, 2025-01-01 to 2026-09-27, 175,850 held-out bars of 60 pairs: READY TO POP was given 19,797 times and the rise came first in 42.8% (all bars: 42.5%); READY TO DUMP 0 times, the fall first in 0.0% (all bars: 45.5%). The POP edge did NOT hold out of sample. The DUMP edge did NOT hold out of sample. Said-vs-happened gap across bins with 300+ cases: 2.1 points (up)."}},"1d":{"covered":true,"symbols":258,"target":{"up_pct":10.0,"down_pct":10.0,"window":30},"base":{"train":{"n":25141,"up":0.5069,"down":0.4508,"neither":0.0422,"range":["2017-08-17","2020-12-01"]},"calibrate":{"n":66453,"up":0.4536,"down":0.5147,"neither":0.0317,"range":["2021-01-01","2022-12-01"]},"test":{"n":240801,"up":0.4376,"down":0.5033,"neither":0.0591,"range":["2023-01-01","2026-09-04"]}},"features":{"bos_up":{"name":"Break of structure up","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":6375,"up":0.5589,"down":0.4053,"ci95_up":[0.5467,0.5711]},"test":{"n":52711,"up":0.4561,"down":0.4952,"ci95_up":[0.4519,0.4604]},"weight_up":0.2027,"weight_down":-0.1802,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"bos_down":{"name":"Break of structure down","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":6227,"up":0.4806,"down":0.4739,"ci95_up":[0.4683,0.4931]},"test":{"n":74928,"up":0.4484,"down":0.4964,"ci95_up":[0.4448,0.4519]},"weight_up":-0.1018,"weight_down":0.0901,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"double_bottom":{"name":"Double bottom","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":1254,"up":0.5734,"down":0.3836,"ci95_up":[0.5458,0.6005]},"test":{"n":14495,"up":0.4314,"down":0.513,"ci95_up":[0.4233,0.4395]},"weight_up":0.2311,"weight_down":-0.2389,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"double_top":{"name":"Double top","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":923,"up":0.4962,"down":0.4485,"ci95_up":[0.464,0.5284]},"test":{"n":12893,"up":0.441,"down":0.4938,"ci95_up":[0.4325,0.4496]},"weight_up":-0.0352,"weight_down":-0.0075,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"inverse_head_shoulders":{"name":"Inverse head and shoulders","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":386,"up":0.5415,"down":0.4197,"ci95_up":[0.4916,0.5905]},"test":{"n":2292,"up":0.4682,"down":0.4516,"ci95_up":[0.4478,0.4886]},"weight_up":0.0913,"weight_down":-0.0834,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"head_shoulders":{"name":"Head and shoulders","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":330,"up":0.5758,"down":0.4061,"ci95_up":[0.5219,0.6279]},"test":{"n":3303,"up":0.4423,"down":0.4932,"ci95_up":[0.4255,0.4593]},"weight_up":0.173,"weight_down":-0.1138,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"higher_highs_lows":{"name":"Higher highs and higher lows","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":4319,"up":0.5348,"down":0.4117,"ci95_up":[0.5199,0.5497]},"test":{"n":45077,"up":0.4591,"down":0.4832,"ci95_up":[0.4546,0.4638]},"weight_up":0.1071,"weight_down":-0.1526,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"lower_highs_lows":{"name":"Lower highs and lower lows","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":4598,"up":0.5067,"down":0.44,"ci95_up":[0.4923,0.5212]},"test":{"n":52104,"up":0.4303,"down":0.5036,"ci95_up":[0.4261,0.4346]},"weight_up":-0.0006,"weight_down":-0.042,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"breakout_volume":{"name":"20-bar breakout on volume","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":4521,"up":0.5576,"down":0.4209,"ci95_up":[0.5431,0.572]},"test":{"n":35187,"up":0.4782,"down":0.4833,"ci95_up":[0.473,0.4834]},"weight_up":0.1953,"weight_down":-0.1164,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"breakdown_volume":{"name":"20-bar breakdown on volume","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":1967,"up":0.5104,"down":0.4382,"ci95_up":[0.4883,0.5325]},"test":{"n":24177,"up":0.4263,"down":0.5119,"ci95_up":[0.4201,0.4325]},"weight_up":0.0128,"weight_down":-0.0462,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"bullish_engulfing":{"name":"Bullish engulfing after a drop","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":8932,"up":0.5468,"down":0.4133,"ci95_up":[0.5365,0.5571]},"test":{"n":103001,"up":0.4373,"down":0.5024,"ci95_up":[0.4343,0.4404]},"weight_up":0.1566,"weight_down":-0.1494,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"bearish_engulfing":{"name":"Bearish engulfing after a rise","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":8487,"up":0.5173,"down":0.4409,"ci95_up":[0.5066,0.5279]},"test":{"n":100292,"up":0.429,"down":0.508,"ci95_up":[0.426,0.4321]},"weight_up":0.0405,"weight_down":-0.0391,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"ascending_triangle":{"name":"Ascending triangle breakout","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":357,"up":0.549,"down":0.3866,"ci95_up":[0.4972,0.5998]},"test":{"n":1762,"up":0.4069,"down":0.5045,"ci95_up":[0.3842,0.43]},"weight_up":0.1084,"weight_down":-0.1694,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"descending_triangle":{"name":"Descending triangle breakdown","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":298,"up":0.4966,"down":0.453,"ci95_up":[0.4403,0.5531]},"test":{"n":5432,"up":0.4554,"down":0.4867,"ci95_up":[0.4422,0.4687]},"weight_up":-0.0245,"weight_down":0.0054,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"bull_flag":{"name":"Bull flag breakout","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":1255,"up":0.5586,"down":0.4215,"ci95_up":[0.531,0.5858]},"test":{"n":5943,"up":0.453,"down":0.5235,"ci95_up":[0.4403,0.4657]},"weight_up":0.1792,"weight_down":-0.1027,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"bear_flag":{"name":"Bear flag breakdown","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":1936,"up":0.4948,"down":0.4711,"ci95_up":[0.4726,0.5171]},"test":{"n":20201,"up":0.4203,"down":0.546,"ci95_up":[0.4135,0.4271]},"weight_up":-0.0437,"weight_down":0.074,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"at_support":{"name":"At support","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":581,"up":0.4923,"down":0.3752,"ci95_up":[0.4518,0.5328]},"test":{"n":11026,"up":0.3826,"down":0.4643,"ci95_up":[0.3736,0.3918]},"weight_up":-0.0436,"weight_down":-0.2325,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"at_resistance":{"name":"At resistance","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":532,"up":0.6316,"down":0.2951,"ci95_up":[0.5898,0.6715]},"test":{"n":6194,"up":0.428,"down":0.362,"ci95_up":[0.4157,0.4404]},"weight_up":0.3717,"weight_down":-0.4893,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"support_break":{"name":"Support broken","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":3279,"up":0.4858,"down":0.4504,"ci95_up":[0.4687,0.5029]},"test":{"n":49028,"up":0.4402,"down":0.4931,"ci95_up":[0.4358,0.4446]},"weight_up":-0.0795,"weight_down":-0.0014,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"resistance_break":{"name":"Resistance broken","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":3192,"up":0.5692,"down":0.3913,"ci95_up":[0.552,0.5863]},"test":{"n":29947,"up":0.4745,"down":0.4626,"ci95_up":[0.4688,0.4801]},"weight_up":0.2363,"weight_down":-0.23,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"uptrend_line_hold":{"name":"Above a rising trendline","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":6499,"up":0.5292,"down":0.4236,"ci95_up":[0.517,0.5413]},"test":{"n":65404,"up":0.4362,"down":0.5027,"ci95_up":[0.4324,0.44]},"weight_up":0.0865,"weight_down":-0.1073,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"downtrend_line_hold":{"name":"Below a falling trendline","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":6668,"up":0.4945,"down":0.4477,"ci95_up":[0.4825,0.5065]},"test":{"n":70182,"up":0.4283,"down":0.5142,"ci95_up":[0.4246,0.4319]},"weight_up":-0.0483,"weight_down":-0.0123,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"uptrend_line_break":{"name":"Rising trendline broken","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":4393,"up":0.529,"down":0.4086,"ci95_up":[0.5142,0.5438]},"test":{"n":47104,"up":0.4304,"down":0.5116,"ci95_up":[0.4259,0.4349]},"weight_up":0.0848,"weight_down":-0.1648,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"downtrend_line_break":{"name":"Falling trendline broken","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":4087,"up":0.5525,"down":0.3991,"ci95_up":[0.5372,0.5677]},"test":{"n":33830,"up":0.4455,"down":0.4934,"ci95_up":[0.4402,0.4508]},"weight_up":0.1746,"weight_down":-0.202,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"in_rising_channel":{"name":"Inside a rising channel","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":509,"up":0.611,"down":0.3163,"ci95_up":[0.568,0.6524]},"test":{"n":6649,"up":0.4325,"down":0.4726,"ci95_up":[0.4207,0.4445]},"weight_up":0.3043,"weight_down":-0.4116,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"in_falling_channel":{"name":"Inside a falling channel","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":561,"up":0.5437,"down":0.4456,"ci95_up":[0.5023,0.5845]},"test":{"n":5579,"up":0.4926,"down":0.4302,"ci95_up":[0.4795,0.5057]},"weight_up":0.1088,"weight_down":-0.0154,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"at_channel_top":{"name":"At the top of a channel","group":"structure","kind":"state","textbook_side":"bearish","included":false,"train":{"n":51,"up":0.902,"down":0.098,"ci95_up":[0.7902,0.9574]},"test":{"n":562,"up":0.4662,"down":0.3256,"ci95_up":[0.4253,0.5075]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 51 train cases (< 100)"},"at_channel_bottom":{"name":"At the bottom of a channel","group":"structure","kind":"state","textbook_side":"bullish","included":false,"train":{"n":52,"up":0.4231,"down":0.3462,"ci95_up":[0.2987,0.5581]},"test":{"n":857,"up":0.3792,"down":0.4632,"ci95_up":[0.3474,0.4122]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 52 train cases (< 100)"},"rising_wedge_forming":{"name":"Rising wedge forming","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":383,"up":0.5405,"down":0.4439,"ci95_up":[0.4904,0.5897]},"test":{"n":2197,"up":0.4506,"down":0.4984,"ci95_up":[0.4299,0.4715]},"weight_up":0.0884,"weight_down":-0.0184,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"falling_wedge_forming":{"name":"Falling wedge forming","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":388,"up":0.4278,"down":0.5077,"ci95_up":[0.3795,0.4775]},"test":{"n":5497,"up":0.4357,"down":0.5186,"ci95_up":[0.4226,0.4488]},"weight_up":-0.21,"weight_down":0.1507,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"sym_triangle_forming":{"name":"Symmetrical triangle forming","group":"structure","kind":"state","textbook_side":"neutral","included":true,"train":{"n":675,"up":0.5304,"down":0.3985,"ci95_up":[0.4927,0.5677]},"test":{"n":7049,"up":0.4023,"down":0.5282,"ci95_up":[0.3909,0.4138]},"weight_up":0.0725,"weight_down":-0.1652,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"asc_triangle_forming":{"name":"Ascending triangle forming","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":196,"up":0.699,"down":0.2347,"ci95_up":[0.6314,0.7589]},"test":{"n":1589,"up":0.4248,"down":0.4393,"ci95_up":[0.4007,0.4493]},"weight_up":0.4033,"weight_down":-0.4873,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"desc_triangle_forming":{"name":"Descending triangle forming","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":149,"up":0.4832,"down":0.4295,"ci95_up":[0.4044,0.5629]},"test":{"n":2563,"up":0.3851,"down":0.5045,"ci95_up":[0.3664,0.4041]},"weight_up":-0.0404,"weight_down":-0.0369,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"rising_wedge_break_down":{"name":"Rising wedge broke down","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":935,"up":0.5422,"down":0.4299,"ci95_up":[0.5102,0.5739]},"test":{"n":6608,"up":0.4373,"down":0.5107,"ci95_up":[0.4254,0.4493]},"weight_up":0.1168,"weight_down":-0.0697,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"falling_wedge_break_up":{"name":"Falling wedge broke up","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":900,"up":0.4289,"down":0.4933,"ci95_up":[0.3969,0.4615]},"test":{"n":13463,"up":0.4409,"down":0.5018,"ci95_up":[0.4325,0.4493]},"weight_up":-0.2569,"weight_down":0.1397,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"sym_triangle_break_up":{"name":"Symmetrical triangle broke up","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":1800,"up":0.5472,"down":0.41,"ci95_up":[0.5242,0.5701]},"test":{"n":17043,"up":0.4222,"down":0.5136,"ci95_up":[0.4148,0.4297]},"weight_up":0.1457,"weight_down":-0.1499,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"sym_triangle_break_down":{"name":"Symmetrical triangle broke down","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":1818,"up":0.4725,"down":0.4796,"ci95_up":[0.4496,0.4955]},"test":{"n":21016,"up":0.4439,"down":0.4894,"ci95_up":[0.4372,0.4507]},"weight_up":-0.1241,"weight_down":0.1045,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"rsi_oversold":{"name":"RSI oversold","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":1381,"up":0.5243,"down":0.4381,"ci95_up":[0.4979,0.5505]},"test":{"n":13045,"up":0.4956,"down":0.4505,"ci95_up":[0.487,0.5042]},"weight_up":0.0607,"weight_down":-0.045,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"rsi_overbought":{"name":"RSI overbought","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":1593,"up":0.548,"down":0.4375,"ci95_up":[0.5235,0.5723]},"test":{"n":10192,"up":0.4932,"down":0.4679,"ci95_up":[0.4835,0.5029]},"weight_up":0.1467,"weight_down":-0.0477,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"macd_cross_up":{"name":"MACD crossed up","group":"indicator","kind":"event","textbook_side":"bullish","included":true,"train":{"n":3786,"up":0.5502,"down":0.4049,"ci95_up":[0.5343,0.566]},"test":{"n":43034,"up":0.4214,"down":0.5165,"ci95_up":[0.4168,0.4261]},"weight_up":0.1651,"weight_down":-0.1782,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"macd_cross_down":{"name":"MACD crossed down","group":"indicator","kind":"event","textbook_side":"bearish","included":true,"train":{"n":3783,"up":0.5184,"down":0.4243,"ci95_up":[0.5024,0.5343]},"test":{"n":42936,"up":0.4424,"down":0.4993,"ci95_up":[0.4377,0.4471]},"weight_up":0.0436,"weight_down":-0.1024,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"macd_hist_rising":{"name":"MACD histogram rising","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":11750,"up":0.5238,"down":0.4341,"ci95_up":[0.5148,0.5329]},"test":{"n":120338,"up":0.4345,"down":0.5057,"ci95_up":[0.4317,0.4373]},"weight_up":0.0667,"weight_down":-0.0665,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"macd_hist_falling":{"name":"MACD histogram falling","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":11335,"up":0.5112,"down":0.4442,"ci95_up":[0.502,0.5204]},"test":{"n":115553,"up":0.443,"down":0.4968,"ci95_up":[0.4401,0.4458]},"weight_up":0.0168,"weight_down":-0.0262,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"above_sma50":{"name":"Above the 50-bar average","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":10509,"up":0.5489,"down":0.4181,"ci95_up":[0.5393,0.5584]},"test":{"n":85760,"up":0.4488,"down":0.4996,"ci95_up":[0.4455,0.4522]},"weight_up":0.1653,"weight_down":-0.1306,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"below_sma50":{"name":"Below the 50-bar average","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":11709,"up":0.494,"down":0.4532,"ci95_up":[0.4849,0.503]},"test":{"n":147956,"up":0.4331,"down":0.5014,"ci95_up":[0.4306,0.4357]},"weight_up":-0.0508,"weight_down":0.0097,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"above_sma200":{"name":"Above the 200-bar average","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":7602,"up":0.5047,"down":0.4525,"ci95_up":[0.4935,0.516]},"test":{"n":61389,"up":0.4353,"down":0.5041,"ci95_up":[0.4314,0.4392]},"weight_up":-0.0084,"weight_down":0.0067,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"below_sma200":{"name":"Below the 200-bar average","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":8338,"up":0.5724,"down":0.3681,"ci95_up":[0.5618,0.583]},"test":{"n":150839,"up":0.4419,"down":0.4932,"ci95_up":[0.4394,0.4444]},"weight_up":0.258,"weight_down":-0.335,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"golden_trend":{"name":"50 above 200 (golden)","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":7640,"up":0.4921,"down":0.4602,"ci95_up":[0.4809,0.5034]},"test":{"n":64280,"up":0.4127,"down":0.5224,"ci95_up":[0.4089,0.4165]},"weight_up":-0.0575,"weight_down":0.037,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"death_trend":{"name":"50 below 200 (death)","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":8300,"up":0.5843,"down":0.3606,"ci95_up":[0.5737,0.5949]},"test":{"n":147949,"up":0.4519,"down":0.4851,"ci95_up":[0.4494,0.4544]},"weight_up":0.3056,"weight_down":-0.3665,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"bb_lower_touch":{"name":"At the lower Bollinger Band","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":1177,"up":0.4647,"down":0.4826,"ci95_up":[0.4364,0.4933]},"test":{"n":13248,"up":0.5116,"down":0.4348,"ci95_up":[0.5031,0.5201]},"weight_up":-0.1443,"weight_down":0.1092,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"bb_upper_touch":{"name":"At the upper Bollinger Band","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":1968,"up":0.5595,"down":0.4207,"ci95_up":[0.5374,0.5812]},"test":{"n":15115,"up":0.4788,"down":0.4873,"ci95_up":[0.4708,0.4868]},"weight_up":0.1918,"weight_down":-0.111,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"volume_surge":{"name":"Volume surge","group":"indicator","kind":"state","textbook_side":"neutral","included":true,"train":{"n":4217,"up":0.5604,"down":0.4098,"ci95_up":[0.5453,0.5753]},"test":{"n":37471,"up":0.4648,"down":0.4875,"ci95_up":[0.4598,0.4699]},"weight_up":0.2053,"weight_down":-0.1599,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"squeeze":{"name":"Volatility squeeze","group":"indicator","kind":"state","textbook_side":"neutral","included":true,"train":{"n":3410,"up":0.5771,"down":0.351,"ci95_up":[0.5605,0.5936]},"test":{"n":32983,"up":0.4277,"down":0.5034,"ci95_up":[0.4224,0.4331]},"weight_up":0.2677,"weight_down":-0.394,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"weekly_signal":{"name":"Weekly Signal","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":1225,"up":0.6547,"down":0.2939,"ci95_up":[0.6276,0.6808]},"test":{"n":39373,"up":0.4964,"down":0.4389,"ci95_up":[0.4915,0.5013]},"weight_up":0.5262,"weight_down":-0.5839,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null}},"calibration":{"up":[{"bin":0,"lo":0.0,"hi":0.05,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":1,"lo":0.05,"hi":0.1,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":2,"lo":0.1,"hi":0.15,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":3,"lo":0.15,"hi":0.2,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":4,"lo":0.2,"hi":0.25,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":5,"lo":0.25,"hi":0.3,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":6,"lo":0.3,"hi":0.35,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":7,"lo":0.35,"hi":0.4,"n":42,"hits":15,"rate":0.3571,"ci95":[0.2299,0.5083],"calibrated":0.3571,"usable":false,"bin_ci95":[0.2299,0.5083],"pooled_n":42,"pooled_hits":15,"pooled_bins":[7,7]},{"bin":8,"lo":0.4,"hi":0.45,"n":536,"hits":212,"rate":0.3955,"ci95":[0.355,0.4375],"calibrated":0.3955,"usable":true,"bin_ci95":[0.355,0.4375],"pooled_n":536,"pooled_hits":212,"pooled_bins":[8,8]},{"bin":9,"lo":0.45,"hi":0.5,"n":2444,"hits":1035,"rate":0.4235,"ci95":[0.404,0.4432],"calibrated":0.4235,"usable":true,"bin_ci95":[0.404,0.4432],"pooled_n":2444,"pooled_hits":1035,"pooled_bins":[9,9]},{"bin":10,"lo":0.5,"hi":0.55,"n":6327,"hits":2781,"rate":0.4395,"ci95":[0.4274,0.4518],"calibrated":0.4395,"usable":true,"bin_ci95":[0.4274,0.4518],"pooled_n":6327,"pooled_hits":2781,"pooled_bins":[10,10]},{"bin":11,"lo":0.55,"hi":0.6,"n":7767,"hits":3602,"rate":0.4638,"ci95":[0.438,0.448],"calibrated":0.443,"usable":true,"bin_ci95":[0.4527,0.4749],"pooled_n":38117,"pooled_hits":16886,"pooled_bins":[11,14]},{"bin":12,"lo":0.6,"hi":0.65,"n":10262,"hits":4593,"rate":0.4476,"ci95":[0.438,0.448],"calibrated":0.443,"usable":true,"bin_ci95":[0.438,0.4572],"pooled_n":38117,"pooled_hits":16886,"pooled_bins":[11,14]},{"bin":13,"lo":0.65,"hi":0.7,"n":10860,"hits":4694,"rate":0.4322,"ci95":[0.438,0.448],"calibrated":0.443,"usable":true,"bin_ci95":[0.4229,0.4416],"pooled_n":38117,"pooled_hits":16886,"pooled_bins":[11,14]},{"bin":14,"lo":0.7,"hi":0.75,"n":9228,"hits":3997,"rate":0.4331,"ci95":[0.438,0.448],"calibrated":0.443,"usable":true,"bin_ci95":[0.4231,0.4433],"pooled_n":38117,"pooled_hits":16886,"pooled_bins":[11,14]},{"bin":15,"lo":0.75,"hi":0.8,"n":8247,"hits":4045,"rate":0.4905,"ci95":[0.4781,0.4923],"calibrated":0.4852,"usable":true,"bin_ci95":[0.4797,0.5013],"pooled_n":18987,"pooled_hits":9212,"pooled_bins":[15,19]},{"bin":16,"lo":0.8,"hi":0.85,"n":5958,"hits":2935,"rate":0.4926,"ci95":[0.4781,0.4923],"calibrated":0.4852,"usable":true,"bin_ci95":[0.4799,0.5053],"pooled_n":18987,"pooled_hits":9212,"pooled_bins":[15,19]},{"bin":17,"lo":0.85,"hi":0.9,"n":3554,"hits":1727,"rate":0.4859,"ci95":[0.4781,0.4923],"calibrated":0.4852,"usable":true,"bin_ci95":[0.4695,0.5024],"pooled_n":18987,"pooled_hits":9212,"pooled_bins":[15,19]},{"bin":18,"lo":0.9,"hi":0.95,"n":1170,"hits":489,"rate":0.4179,"ci95":[0.4781,0.4923],"calibrated":0.4852,"usable":true,"bin_ci95":[0.39,0.4464],"pooled_n":18987,"pooled_hits":9212,"pooled_bins":[15,19]},{"bin":19,"lo":0.95,"hi":1.0,"n":58,"hits":16,"rate":0.2759,"ci95":[0.4781,0.4923],"calibrated":0.4852,"usable":false,"bin_ci95":[0.1775,0.402],"pooled_n":18987,"pooled_hits":9212,"pooled_bins":[15,19]}],"down":[{"bin":0,"lo":0.0,"hi":0.05,"n":300,"hits":163,"rate":0.5433,"ci95":[0.4573,0.4878],"calibrated":0.4726,"usable":true,"bin_ci95":[0.4868,0.5988],"pooled_n":4114,"pooled_hits":1944,"pooled_bins":[0,1]},{"bin":1,"lo":0.05,"hi":0.1,"n":3814,"hits":1781,"rate":0.467,"ci95":[0.4573,0.4878],"calibrated":0.4726,"usable":true,"bin_ci95":[0.4512,0.4828],"pooled_n":4114,"pooled_hits":1944,"pooled_bins":[0,1]},{"bin":2,"lo":0.1,"hi":0.15,"n":8180,"hits":4021,"rate":0.4916,"ci95":[0.4822,0.4967],"calibrated":0.4895,"usable":true,"bin_ci95":[0.4807,0.5024],"pooled_n":18224,"pooled_hits":8920,"pooled_bins":[2,3]},{"bin":3,"lo":0.15,"hi":0.2,"n":10044,"hits":4899,"rate":0.4878,"ci95":[0.4822,0.4967],"calibrated":0.4895,"usable":true,"bin_ci95":[0.478,0.4975],"pooled_n":18224,"pooled_hits":8920,"pooled_bins":[2,3]},{"bin":4,"lo":0.2,"hi":0.25,"n":12491,"hits":6762,"rate":0.5413,"ci95":[0.5206,0.5307],"calibrated":0.5256,"usable":true,"bin_ci95":[0.5326,0.5501],"pooled_n":37929,"pooled_hits":19938,"pooled_bins":[4,7]},{"bin":5,"lo":0.25,"hi":0.3,"n":10903,"hits":5673,"rate":0.5203,"ci95":[0.5206,0.5307],"calibrated":0.5256,"usable":true,"bin_ci95":[0.5109,0.5297],"pooled_n":37929,"pooled_hits":19938,"pooled_bins":[4,7]},{"bin":6,"lo":0.3,"hi":0.35,"n":7350,"hits":3801,"rate":0.5171,"ci95":[0.5206,0.5307],"calibrated":0.5256,"usable":true,"bin_ci95":[0.5057,0.5286],"pooled_n":37929,"pooled_hits":19938,"pooled_bins":[4,7]},{"bin":7,"lo":0.35,"hi":0.4,"n":7185,"hits":3702,"rate":0.5152,"ci95":[0.5206,0.5307],"calibrated":0.5256,"usable":true,"bin_ci95":[0.5037,0.5268],"pooled_n":37929,"pooled_hits":19938,"pooled_bins":[4,7]},{"bin":8,"lo":0.4,"hi":0.45,"n":4396,"hits":2348,"rate":0.5341,"ci95":[0.5194,0.5488],"calibrated":0.5341,"usable":true,"bin_ci95":[0.5194,0.5488],"pooled_n":4396,"pooled_hits":2348,"pooled_bins":[8,8]},{"bin":9,"lo":0.45,"hi":0.5,"n":1728,"hits":1020,"rate":0.5903,"ci95":[0.5651,0.6106],"calibrated":0.5881,"usable":true,"bin_ci95":[0.5669,0.6132],"pooled_n":1789,"pooled_hits":1052,"pooled_bins":[9,10]},{"bin":10,"lo":0.5,"hi":0.55,"n":61,"hits":32,"rate":0.5246,"ci95":[0.5651,0.6106],"calibrated":0.5881,"usable":false,"bin_ci95":[0.4016,0.6447],"pooled_n":1789,"pooled_hits":1052,"pooled_bins":[9,10]},{"bin":11,"lo":0.55,"hi":0.6,"n":1,"hits":1,"rate":1.0,"ci95":[0.2065,1.0],"calibrated":1.0,"usable":false,"bin_ci95":[0.2065,1.0],"pooled_n":1,"pooled_hits":1,"pooled_bins":[11,11]},{"bin":12,"lo":0.6,"hi":0.65,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":13,"lo":0.65,"hi":0.7,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":14,"lo":0.7,"hi":0.75,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":15,"lo":0.75,"hi":0.8,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":16,"lo":0.8,"hi":0.85,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":17,"lo":0.85,"hi":0.9,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":18,"lo":0.9,"hi":0.95,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":19,"lo":0.95,"hi":1.0,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false}],"base_up":0.4536,"base_down":0.5147,"n":66453,"range":["2021-01-01","2022-12-01"]},"proof":{"n":240801,"range":["2023-01-01","2026-09-04"],"reliability_up":[{"bin":6,"lo":0.3,"hi":0.35,"n":6,"said":0.4536,"happened":0.5,"ci95":[0.1876,0.8124]},{"bin":7,"lo":0.35,"hi":0.4,"n":206,"said":0.4536,"happened":0.4903,"ci95":[0.4228,0.5581]},{"bin":8,"lo":0.4,"hi":0.45,"n":2082,"said":0.3955,"happened":0.4395,"ci95":[0.4183,0.4609]},{"bin":9,"lo":0.45,"hi":0.5,"n":8371,"said":0.4235,"happened":0.4322,"ci95":[0.4216,0.4428]},{"bin":10,"lo":0.5,"hi":0.55,"n":20457,"said":0.4395,"happened":0.4146,"ci95":[0.4079,0.4214]},{"bin":11,"lo":0.55,"hi":0.6,"n":24939,"said":0.443,"happened":0.4131,"ci95":[0.407,0.4193]},{"bin":12,"lo":0.6,"hi":0.65,"n":34537,"said":0.443,"happened":0.409,"ci95":[0.4038,0.4142]},{"bin":13,"lo":0.65,"hi":0.7,"n":38187,"said":0.443,"happened":0.4167,"ci95":[0.4118,0.4216]},{"bin":14,"lo":0.7,"hi":0.75,"n":34701,"said":0.443,"happened":0.4364,"ci95":[0.4312,0.4416]},{"bin":15,"lo":0.75,"hi":0.8,"n":31338,"said":0.4852,"happened":0.4765,"ci95":[0.4709,0.482]},{"bin":16,"lo":0.8,"hi":0.85,"n":25237,"said":0.4852,"happened":0.4801,"ci95":[0.474,0.4863]},{"bin":17,"lo":0.85,"hi":0.9,"n":14778,"said":0.4852,"happened":0.4701,"ci95":[0.4621,0.4781]},{"bin":18,"lo":0.9,"hi":0.95,"n":5569,"said":0.4852,"happened":0.4656,"ci95":[0.4525,0.4787]},{"bin":19,"lo":0.95,"hi":1.0,"n":393,"said":0.4536,"happened":0.4784,"ci95":[0.4294,0.5277]}],"reliability_down":[{"bin":0,"lo":0.0,"hi":0.05,"n":1728,"said":0.4726,"happened":0.4635,"ci95":[0.4401,0.4871]},{"bin":1,"lo":0.05,"hi":0.1,"n":16329,"said":0.4726,"happened":0.4712,"ci95":[0.4635,0.4788]},{"bin":2,"lo":0.1,"hi":0.15,"n":35470,"said":0.4895,"happened":0.4585,"ci95":[0.4533,0.4637]},{"bin":3,"lo":0.15,"hi":0.2,"n":40362,"said":0.4895,"happened":0.4805,"ci95":[0.4756,0.4854]},{"bin":4,"lo":0.2,"hi":0.25,"n":46144,"said":0.5256,"happened":0.5066,"ci95":[0.502,0.5111]},{"bin":5,"lo":0.25,"hi":0.3,"n":37337,"said":0.5256,"happened":0.5114,"ci95":[0.5064,0.5165]},{"bin":6,"lo":0.3,"hi":0.35,"n":23512,"said":0.5256,"happened":0.5465,"ci95":[0.5401,0.5528]},{"bin":7,"lo":0.35,"hi":0.4,"n":20561,"said":0.5256,"happened":0.5449,"ci95":[0.5381,0.5517]},{"bin":8,"lo":0.4,"hi":0.45,"n":13845,"said":0.5341,"happened":0.5422,"ci95":[0.5339,0.5505]},{"bin":9,"lo":0.45,"hi":0.5,"n":5272,"said":0.5881,"happened":0.5491,"ci95":[0.5357,0.5625]},{"bin":10,"lo":0.5,"hi":0.55,"n":239,"said":0.5147,"happened":0.4686,"ci95":[0.4064,0.5319]},{"bin":11,"lo":0.55,"hi":0.6,"n":2,"said":0.5147,"happened":0.5,"ci95":[0.0945,0.9055]}],"brier":{"up_model":0.24582,"up_base":0.24636,"down_model":0.24942,"down_base":0.25012},"verdicts":{"pop":{"n":0,"hits":0,"rate":null,"ci95":null,"base_rate":0.4376,"gap":null,"holds":false},"dump":{"n":5272,"hits":2895,"rate":0.5491,"ci95":[0.5357,0.5625],"base_rate":0.5033,"gap":0.0458,"holds":true},"no_edge":{"n":235529,"up_rate":0.4378,"down_rate":0.5022},"share_labelled":0.0219},"non_overlapping":{"n":8125,"pop":{"n":0,"hits":0,"rate":null,"ci95":null,"base_rate":0.3924,"gap":null,"holds":false},"dump":{"n":280,"hits":157,"rate":0.5607,"ci95":[0.5021,0.6176],"base_rate":0.5504,"gap":0.0103,"holds":false},"brier":{"up_model":0.24198,"up_base":0.24216}},"calibration_error_up":0.019,"calibration_error_down":0.0171,"finding":"1d candles, 2023-01-01 to 2026-09-04, 240,801 held-out bars of 258 pairs: READY TO POP was given 0 times and the rise came first in 0.0% (all bars: 43.8%); READY TO DUMP 5,272 times, the fall first in 54.9% (all bars: 50.3%). The POP edge did NOT hold out of sample. The DUMP edge held out of sample. Said-vs-happened gap across bins with 300+ cases: 1.9 points (up)."}},"5d":{"covered":true,"symbols":242,"target":{"up_pct":15.0,"down_pct":15.0,"window":26},"base":{"train":{"n":3953,"up":0.5611,"down":0.4389,"neither":0.0,"range":["2017-08-17","2020-08-21"]},"calibrate":{"n":11085,"up":0.4447,"down":0.5441,"neither":0.0112,"range":["2021-01-03","2022-08-21"]},"test":{"n":42953,"up":0.4194,"down":0.57,"neither":0.0105,"range":["2023-01-03","2026-05-27"]}},"features":{"bos_up":{"name":"Break of structure up","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":823,"up":0.5358,"down":0.4642,"ci95_up":[0.5017,0.5697]},"test":{"n":7413,"up":0.4113,"down":0.5755,"ci95_up":[0.4002,0.4225]},"weight_up":-0.0821,"weight_down":0.0821,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"bos_down":{"name":"Break of structure down","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":935,"up":0.5754,"down":0.4246,"ci95_up":[0.5435,0.6067]},"test":{"n":12908,"up":0.4012,"down":0.5875,"ci95_up":[0.3928,0.4097]},"weight_up":0.048,"weight_down":-0.048,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"double_bottom":{"name":"Double bottom","group":"pattern","kind":"event","textbook_side":"bullish","included":false,"train":{"n":52,"up":0.3269,"down":0.6731,"ci95_up":[0.2152,0.4624]},"test":{"n":1167,"up":0.5184,"down":0.4499,"ci95_up":[0.4897,0.547]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 52 train cases (< 100)"},"double_top":{"name":"Double top","group":"pattern","kind":"event","textbook_side":"bearish","included":false,"train":{"n":50,"up":0.84,"down":0.16,"ci95_up":[0.7149,0.9166]},"test":{"n":588,"up":0.3418,"down":0.6224,"ci95_up":[0.3046,0.3811]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 50 train cases (< 100)"},"inverse_head_shoulders":{"name":"Inverse head and shoulders","group":"pattern","kind":"event","textbook_side":"bullish","included":false,"train":{"n":10,"up":0.9,"down":0.1,"ci95_up":[0.5958,0.9821]},"test":{"n":463,"up":0.4514,"down":0.5464,"ci95_up":[0.4067,0.4969]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 10 train cases (< 100)"},"head_shoulders":{"name":"Head and shoulders","group":"pattern","kind":"event","textbook_side":"bearish","included":false,"train":{"n":20,"up":0.4,"down":0.6,"ci95_up":[0.2188,0.6134]},"test":{"n":206,"up":0.3155,"down":0.6699,"ci95_up":[0.2559,0.3819]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 20 train cases (< 100)"},"higher_highs_lows":{"name":"Higher highs and higher lows","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":520,"up":0.6481,"down":0.3519,"ci95_up":[0.6061,0.6879]},"test":{"n":6665,"up":0.3536,"down":0.6363,"ci95_up":[0.3422,0.3652]},"weight_up":0.2636,"weight_down":-0.2636,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"lower_highs_lows":{"name":"Lower highs and lower lows","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":644,"up":0.6118,"down":0.3882,"ci95_up":[0.5736,0.6487]},"test":{"n":9332,"up":0.4535,"down":0.5369,"ci95_up":[0.4434,0.4636]},"weight_up":0.1597,"weight_down":-0.1597,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"breakout_volume":{"name":"20-bar breakout on volume","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":492,"up":0.498,"down":0.502,"ci95_up":[0.454,0.542]},"test":{"n":5489,"up":0.3977,"down":0.593,"ci95_up":[0.3848,0.4107]},"weight_up":-0.1804,"weight_down":0.1804,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"breakdown_volume":{"name":"20-bar breakdown on volume","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":385,"up":0.7299,"down":0.2701,"ci95_up":[0.6834,0.7718]},"test":{"n":2573,"up":0.3059,"down":0.6906,"ci95_up":[0.2884,0.324]},"weight_up":0.4925,"weight_down":-0.4925,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"bullish_engulfing":{"name":"Bullish engulfing after a drop","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":1320,"up":0.5538,"down":0.4462,"ci95_up":[0.5269,0.5804]},"test":{"n":17780,"up":0.4379,"down":0.552,"ci95_up":[0.4306,0.4452]},"weight_up":-0.0257,"weight_down":0.0257,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"bearish_engulfing":{"name":"Bearish engulfing after a rise","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":1142,"up":0.5981,"down":0.4019,"ci95_up":[0.5694,0.6261]},"test":{"n":15996,"up":0.4452,"down":0.5444,"ci95_up":[0.4375,0.453]},"weight_up":0.1292,"weight_down":-0.1292,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"ascending_triangle":{"name":"Ascending triangle breakout","group":"pattern","kind":"event","textbook_side":"bullish","included":false,"train":{"n":7,"up":1.0,"down":0.0,"ci95_up":[0.6457,1.0]},"test":{"n":100,"up":0.52,"down":0.48,"ci95_up":[0.4232,0.6154]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 7 train cases (< 100)"},"descending_triangle":{"name":"Descending triangle breakdown","group":"pattern","kind":"event","textbook_side":"bearish","included":false,"train":{"n":10,"up":1.0,"down":0.0,"ci95_up":[0.7225,1.0]},"test":{"n":237,"up":0.3207,"down":0.6667,"ci95_up":[0.2645,0.3826]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 10 train cases (< 100)"},"bull_flag":{"name":"Bull flag breakout","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":156,"up":0.7308,"down":0.2692,"ci95_up":[0.6562,0.7942]},"test":{"n":550,"up":0.5218,"down":0.4727,"ci95_up":[0.4801,0.5633]},"weight_up":0.3299,"weight_down":-0.3299,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"bear_flag":{"name":"Bear flag breakdown","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":315,"up":0.5556,"down":0.4444,"ci95_up":[0.5003,0.6094]},"test":{"n":4511,"up":0.489,"down":0.5008,"ci95_up":[0.4745,0.5036]},"weight_up":-0.0138,"weight_down":0.0138,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"at_support":{"name":"At support","group":"structure","kind":"state","textbook_side":"bullish","included":false,"train":{"n":10,"up":0.7,"down":0.3,"ci95_up":[0.3968,0.8922]},"test":{"n":394,"up":0.4594,"down":0.4924,"ci95_up":[0.4108,0.5088]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 10 train cases (< 100)"},"at_resistance":{"name":"At resistance","group":"structure","kind":"state","textbook_side":"bearish","included":false,"train":{"n":10,"up":0.7,"down":0.3,"ci95_up":[0.3968,0.8922]},"test":{"n":139,"up":0.4748,"down":0.3381,"ci95_up":[0.3936,0.5574]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 10 train cases (< 100)"},"support_break":{"name":"Support broken","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":200,"up":0.7,"down":0.3,"ci95_up":[0.6332,0.7593]},"test":{"n":4704,"up":0.3948,"down":0.5963,"ci95_up":[0.3809,0.4088]},"weight_up":0.3008,"weight_down":-0.3008,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"resistance_break":{"name":"Resistance broken","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":142,"up":0.5423,"down":0.4577,"ci95_up":[0.4603,0.622]},"test":{"n":2230,"up":0.4386,"down":0.5211,"ci95_up":[0.4181,0.4592]},"weight_up":-0.0316,"weight_down":0.0316,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"uptrend_line_hold":{"name":"Above a rising trendline","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":858,"up":0.4848,"down":0.5152,"ci95_up":[0.4515,0.5183]},"test":{"n":9901,"up":0.4469,"down":0.5368,"ci95_up":[0.4372,0.4567]},"weight_up":-0.2484,"weight_down":0.2484,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"downtrend_line_hold":{"name":"Below a falling trendline","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":892,"up":0.6222,"down":0.3778,"ci95_up":[0.5899,0.6534]},"test":{"n":12789,"up":0.4023,"down":0.5878,"ci95_up":[0.3938,0.4108]},"weight_up":0.2069,"weight_down":-0.2069,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"uptrend_line_break":{"name":"Rising trendline broken","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":563,"up":0.5933,"down":0.4067,"ci95_up":[0.5522,0.6331]},"test":{"n":6740,"up":0.4108,"down":0.5794,"ci95_up":[0.3991,0.4226]},"weight_up":0.0972,"weight_down":-0.0972,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"downtrend_line_break":{"name":"Falling trendline broken","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":494,"up":0.5405,"down":0.4595,"ci95_up":[0.4964,0.584]},"test":{"n":5524,"up":0.4613,"down":0.5279,"ci95_up":[0.4481,0.4744]},"weight_up":-0.0593,"weight_down":0.0593,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"in_rising_channel":{"name":"Inside a rising channel","group":"structure","kind":"state","textbook_side":"bullish","included":false,"train":{"n":16,"up":0.25,"down":0.75,"ci95_up":[0.1018,0.495]},"test":{"n":280,"up":0.375,"down":0.525,"ci95_up":[0.3203,0.433]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 16 train cases (< 100)"},"in_falling_channel":{"name":"Inside a falling channel","group":"structure","kind":"state","textbook_side":"bearish","included":false,"train":{"n":31,"up":0.5484,"down":0.4516,"ci95_up":[0.3777,0.7084]},"test":{"n":744,"up":0.453,"down":0.5323,"ci95_up":[0.4175,0.4889]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 31 train cases (< 100)"},"at_channel_top":{"name":"At the top of a channel","group":"structure","kind":"state","textbook_side":"bearish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":16,"up":0.75,"down":0.1875,"ci95_up":[0.505,0.8982]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"at_channel_bottom":{"name":"At the bottom of a channel","group":"structure","kind":"state","textbook_side":"bullish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":11,"up":0.3636,"down":0.1818,"ci95_up":[0.1517,0.6462]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"rising_wedge_forming":{"name":"Rising wedge forming","group":"structure","kind":"state","textbook_side":"bearish","included":false,"train":{"n":65,"up":0.5692,"down":0.4308,"ci95_up":[0.4483,0.6824]},"test":{"n":276,"up":0.4565,"down":0.5326,"ci95_up":[0.3988,0.5155]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 65 train cases (< 100)"},"falling_wedge_forming":{"name":"Falling wedge forming","group":"structure","kind":"state","textbook_side":"bullish","included":false,"train":{"n":42,"up":0.2381,"down":0.7619,"ci95_up":[0.1348,0.3853]},"test":{"n":1286,"up":0.5412,"down":0.4471,"ci95_up":[0.5139,0.5683]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 42 train cases (< 100)"},"sym_triangle_forming":{"name":"Symmetrical triangle forming","group":"structure","kind":"state","textbook_side":"neutral","included":false,"train":{"n":67,"up":0.3284,"down":0.6716,"ci95_up":[0.2279,0.4474]},"test":{"n":1289,"up":0.4531,"down":0.5384,"ci95_up":[0.4261,0.4803]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 67 train cases (< 100)"},"asc_triangle_forming":{"name":"Ascending triangle forming","group":"structure","kind":"state","textbook_side":"bullish","included":false,"train":{"n":2,"up":0.5,"down":0.5,"ci95_up":[0.0945,0.9055]},"test":{"n":92,"up":0.5,"down":0.5,"ci95_up":[0.3999,0.6001]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 2 train cases (< 100)"},"desc_triangle_forming":{"name":"Descending triangle forming","group":"structure","kind":"state","textbook_side":"bearish","included":false,"train":{"n":12,"up":1.0,"down":0.0,"ci95_up":[0.7575,1.0]},"test":{"n":156,"up":0.4679,"down":0.5256,"ci95_up":[0.3914,0.5461]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 12 train cases (< 100)"},"rising_wedge_break_down":{"name":"Rising wedge broke down","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":106,"up":0.4245,"down":0.5755,"ci95_up":[0.3347,0.5196]},"test":{"n":961,"up":0.3309,"down":0.6649,"ci95_up":[0.3019,0.3613]},"weight_up":-0.1905,"weight_down":0.1905,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"falling_wedge_break_up":{"name":"Falling wedge broke up","group":"structure","kind":"event","textbook_side":"bullish","included":false,"train":{"n":97,"up":0.3711,"down":0.6289,"ci95_up":[0.2816,0.4705]},"test":{"n":2571,"up":0.5391,"down":0.4492,"ci95_up":[0.5198,0.5583]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 97 train cases (< 100)"},"sym_triangle_break_up":{"name":"Symmetrical triangle broke up","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":142,"up":0.6761,"down":0.3239,"ci95_up":[0.5953,0.7475]},"test":{"n":2454,"up":0.4495,"down":0.5469,"ci95_up":[0.4299,0.4692]},"weight_up":0.2035,"weight_down":-0.2035,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"sym_triangle_break_down":{"name":"Symmetrical triangle broke down","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":205,"up":0.4878,"down":0.5122,"ci95_up":[0.4202,0.5558]},"test":{"n":3864,"up":0.3983,"down":0.5947,"ci95_up":[0.383,0.4138]},"weight_up":-0.149,"weight_down":0.149,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"rsi_oversold":{"name":"RSI oversold","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":235,"up":0.5234,"down":0.4766,"ci95_up":[0.4597,0.5864]},"test":{"n":3147,"up":0.4913,"down":0.5071,"ci95_up":[0.4738,0.5087]},"weight_up":-0.0821,"weight_down":0.0821,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"rsi_overbought":{"name":"RSI overbought","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":269,"up":0.5056,"down":0.4944,"ci95_up":[0.4462,0.5648]},"test":{"n":1703,"up":0.4075,"down":0.5631,"ci95_up":[0.3844,0.431]},"weight_up":-0.1281,"weight_down":0.1281,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"macd_cross_up":{"name":"MACD crossed up","group":"indicator","kind":"event","textbook_side":"bullish","included":true,"train":{"n":427,"up":0.6651,"down":0.3349,"ci95_up":[0.619,0.7082]},"test":{"n":5517,"up":0.4461,"down":0.5429,"ci95_up":[0.433,0.4592]},"weight_up":0.3,"weight_down":-0.3,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"macd_cross_down":{"name":"MACD crossed down","group":"indicator","kind":"event","textbook_side":"bearish","included":true,"train":{"n":370,"up":0.6595,"down":0.3405,"ci95_up":[0.6098,0.7059]},"test":{"n":5208,"up":0.3771,"down":0.6121,"ci95_up":[0.364,0.3904]},"weight_up":0.2696,"weight_down":-0.2696,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"macd_hist_rising":{"name":"MACD histogram rising","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":1530,"up":0.6288,"down":0.3712,"ci95_up":[0.6043,0.6526]},"test":{"n":20048,"up":0.4455,"down":0.5437,"ci95_up":[0.4386,0.4524]},"weight_up":0.2487,"weight_down":-0.2487,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"macd_hist_falling":{"name":"MACD histogram falling","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":1215,"up":0.577,"down":0.423,"ci95_up":[0.549,0.6044]},"test":{"n":18496,"up":0.402,"down":0.5862,"ci95_up":[0.3949,0.4091]},"weight_up":0.0555,"weight_down":-0.0555,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"above_sma50":{"name":"Above the 50-bar average","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":994,"up":0.5634,"down":0.4366,"ci95_up":[0.5324,0.5939]},"test":{"n":10468,"up":0.3995,"down":0.5769,"ci95_up":[0.3902,0.4089]},"weight_up":0.0077,"weight_down":-0.0077,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"below_sma50":{"name":"Below the 50-bar average","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":1284,"up":0.662,"down":0.338,"ci95_up":[0.6357,0.6874]},"test":{"n":26164,"up":0.435,"down":0.5582,"ci95_up":[0.429,0.441]},"weight_up":0.3691,"weight_down":-0.3691,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"above_sma200":{"name":"Above the 200-bar average","group":"indicator","kind":"state","textbook_side":"bullish","included":false,"train":{"n":34,"up":0.9412,"down":0.0588,"ci95_up":[0.8091,0.9837]},"test":{"n":5410,"up":0.4004,"down":0.5591,"ci95_up":[0.3874,0.4135]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 34 train cases (< 100)"},"below_sma200":{"name":"Below the 200-bar average","group":"indicator","kind":"state","textbook_side":"bearish","included":false,"train":{"n":19,"up":1.0,"down":0.0,"ci95_up":[0.8318,1.0]},"test":{"n":17053,"up":0.448,"down":0.5462,"ci95_up":[0.4406,0.4555]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 19 train cases (< 100)"},"golden_trend":{"name":"50 above 200 (golden)","group":"indicator","kind":"state","textbook_side":"bullish","included":false,"train":{"n":28,"up":1.0,"down":0.0,"ci95_up":[0.8794,1.0]},"test":{"n":6455,"up":0.4429,"down":0.5229,"ci95_up":[0.4308,0.4551]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 28 train cases (< 100)"},"death_trend":{"name":"50 below 200 (death)","group":"indicator","kind":"state","textbook_side":"bearish","included":false,"train":{"n":25,"up":0.92,"down":0.08,"ci95_up":[0.7503,0.9778]},"test":{"n":16008,"up":0.434,"down":0.56,"ci95_up":[0.4263,0.4417]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 25 train cases (< 100)"},"bb_lower_touch":{"name":"At the lower Bollinger Band","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":104,"up":0.4808,"down":0.5192,"ci95_up":[0.3872,0.5758]},"test":{"n":1236,"up":0.3835,"down":0.6036,"ci95_up":[0.3568,0.4109]},"weight_up":-0.1104,"weight_down":0.1104,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"bb_upper_touch":{"name":"At the upper Bollinger Band","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":334,"up":0.5449,"down":0.4551,"ci95_up":[0.4913,0.5975]},"test":{"n":2728,"up":0.4817,"down":0.5055,"ci95_up":[0.463,0.5004]},"weight_up":-0.041,"weight_down":0.041,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"volume_surge":{"name":"Volume surge","group":"indicator","kind":"state","textbook_side":"neutral","included":true,"train":{"n":769,"up":0.5072,"down":0.4928,"ci95_up":[0.4719,0.5424]},"test":{"n":6600,"up":0.45,"down":0.5426,"ci95_up":[0.438,0.462]},"weight_up":-0.1722,"weight_down":0.1722,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"squeeze":{"name":"Volatility squeeze","group":"indicator","kind":"state","textbook_side":"neutral","included":true,"train":{"n":201,"up":0.6368,"down":0.3632,"ci95_up":[0.5683,0.7002]},"test":{"n":6229,"up":0.4489,"down":0.5426,"ci95_up":[0.4366,0.4612]},"weight_up":0.1584,"weight_down":-0.1584,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"weekly_signal":{"name":"Weekly Signal","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":263,"up":0.73,"down":0.27,"ci95_up":[0.6734,0.7801]},"test":{"n":7619,"up":0.4928,"down":0.5036,"ci95_up":[0.4816,0.5041]},"weight_up":0.4256,"weight_down":-0.4256,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null}},"calibration":{"up":[{"bin":0,"lo":0.0,"hi":0.05,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":1,"lo":0.05,"hi":0.1,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":2,"lo":0.1,"hi":0.15,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":3,"lo":0.15,"hi":0.2,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":4,"lo":0.2,"hi":0.25,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":5,"lo":0.25,"hi":0.3,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":6,"lo":0.3,"hi":0.35,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":7,"lo":0.35,"hi":0.4,"n":22,"hits":12,"rate":0.5455,"ci95":[0.4206,0.4409],"calibrated":0.4307,"usable":false,"bin_ci95":[0.3466,0.7308],"pooled_n":9096,"pooled_hits":3918,"pooled_bins":[7,15]},{"bin":8,"lo":0.4,"hi":0.45,"n":233,"hits":134,"rate":0.5751,"ci95":[0.4206,0.4409],"calibrated":0.4307,"usable":false,"bin_ci95":[0.5109,0.6369],"pooled_n":9096,"pooled_hits":3918,"pooled_bins":[7,15]},{"bin":9,"lo":0.45,"hi":0.5,"n":477,"hits":305,"rate":0.6394,"ci95":[0.4206,0.4409],"calibrated":0.4307,"usable":true,"bin_ci95":[0.5954,0.6812],"pooled_n":9096,"pooled_hits":3918,"pooled_bins":[7,15]},{"bin":10,"lo":0.5,"hi":0.55,"n":855,"hits":450,"rate":0.5263,"ci95":[0.4206,0.4409],"calibrated":0.4307,"usable":true,"bin_ci95":[0.4928,0.5596],"pooled_n":9096,"pooled_hits":3918,"pooled_bins":[7,15]},{"bin":11,"lo":0.55,"hi":0.6,"n":1941,"hits":799,"rate":0.4116,"ci95":[0.4206,0.4409],"calibrated":0.4307,"usable":true,"bin_ci95":[0.3899,0.4337],"pooled_n":9096,"pooled_hits":3918,"pooled_bins":[7,15]},{"bin":12,"lo":0.6,"hi":0.65,"n":1166,"hits":465,"rate":0.3988,"ci95":[0.4206,0.4409],"calibrated":0.4307,"usable":true,"bin_ci95":[0.3711,0.4272],"pooled_n":9096,"pooled_hits":3918,"pooled_bins":[7,15]},{"bin":13,"lo":0.65,"hi":0.7,"n":1379,"hits":583,"rate":0.4228,"ci95":[0.4206,0.4409],"calibrated":0.4307,"usable":true,"bin_ci95":[0.3969,0.449],"pooled_n":9096,"pooled_hits":3918,"pooled_bins":[7,15]},{"bin":14,"lo":0.7,"hi":0.75,"n":1546,"hits":593,"rate":0.3836,"ci95":[0.4206,0.4409],"calibrated":0.4307,"usable":true,"bin_ci95":[0.3596,0.4081],"pooled_n":9096,"pooled_hits":3918,"pooled_bins":[7,15]},{"bin":15,"lo":0.75,"hi":0.8,"n":1477,"hits":577,"rate":0.3907,"ci95":[0.4206,0.4409],"calibrated":0.4307,"usable":true,"bin_ci95":[0.3661,0.4158],"pooled_n":9096,"pooled_hits":3918,"pooled_bins":[7,15]},{"bin":16,"lo":0.8,"hi":0.85,"n":1143,"hits":552,"rate":0.4829,"ci95":[0.4541,0.5119],"calibrated":0.4829,"usable":true,"bin_ci95":[0.4541,0.5119],"pooled_n":1143,"pooled_hits":552,"pooled_bins":[16,16]},{"bin":17,"lo":0.85,"hi":0.9,"n":730,"hits":403,"rate":0.5521,"ci95":[0.51,0.577],"calibrated":0.5438,"usable":true,"bin_ci95":[0.5158,0.5878],"pooled_n":846,"pooled_hits":460,"pooled_bins":[17,18]},{"bin":18,"lo":0.9,"hi":0.95,"n":116,"hits":57,"rate":0.4914,"ci95":[0.51,0.577],"calibrated":0.5438,"usable":false,"bin_ci95":[0.4021,0.5812],"pooled_n":846,"pooled_hits":460,"pooled_bins":[17,18]},{"bin":19,"lo":0.95,"hi":1.0,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false}],"down":[{"bin":0,"lo":0.0,"hi":0.05,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":1,"lo":0.05,"hi":0.1,"n":116,"hits":59,"rate":0.5086,"ci95":[0.4183,0.4852],"calibrated":0.4516,"usable":false,"bin_ci95":[0.4188,0.5979],"pooled_n":846,"pooled_hits":382,"pooled_bins":[1,2]},{"bin":2,"lo":0.1,"hi":0.15,"n":730,"hits":323,"rate":0.4425,"ci95":[0.4183,0.4852],"calibrated":0.4516,"usable":true,"bin_ci95":[0.4068,0.4787],"pooled_n":846,"pooled_hits":382,"pooled_bins":[1,2]},{"bin":3,"lo":0.15,"hi":0.2,"n":1143,"hits":578,"rate":0.5057,"ci95":[0.4767,0.5346],"calibrated":0.5057,"usable":true,"bin_ci95":[0.4767,0.5346],"pooled_n":1143,"pooled_hits":578,"pooled_bins":[3,3]},{"bin":4,"lo":0.2,"hi":0.25,"n":1477,"hits":870,"rate":0.589,"ci95":[0.5473,0.5677],"calibrated":0.5575,"usable":true,"bin_ci95":[0.5637,0.6139],"pooled_n":9096,"pooled_hits":5071,"pooled_bins":[4,12]},{"bin":5,"lo":0.25,"hi":0.3,"n":1546,"hits":928,"rate":0.6003,"ci95":[0.5473,0.5677],"calibrated":0.5575,"usable":true,"bin_ci95":[0.5756,0.6244],"pooled_n":9096,"pooled_hits":5071,"pooled_bins":[4,12]},{"bin":6,"lo":0.3,"hi":0.35,"n":1379,"hits":773,"rate":0.5606,"ci95":[0.5473,0.5677],"calibrated":0.5575,"usable":true,"bin_ci95":[0.5342,0.5865],"pooled_n":9096,"pooled_hits":5071,"pooled_bins":[4,12]},{"bin":7,"lo":0.35,"hi":0.4,"n":1166,"hits":686,"rate":0.5883,"ci95":[0.5473,0.5677],"calibrated":0.5575,"usable":true,"bin_ci95":[0.5598,0.6162],"pooled_n":9096,"pooled_hits":5071,"pooled_bins":[4,12]},{"bin":8,"lo":0.4,"hi":0.45,"n":1941,"hits":1136,"rate":0.5853,"ci95":[0.5473,0.5677],"calibrated":0.5575,"usable":true,"bin_ci95":[0.5632,0.607],"pooled_n":9096,"pooled_hits":5071,"pooled_bins":[4,12]},{"bin":9,"lo":0.45,"hi":0.5,"n":855,"hits":397,"rate":0.4643,"ci95":[0.5473,0.5677],"calibrated":0.5575,"usable":true,"bin_ci95":[0.4311,0.4978],"pooled_n":9096,"pooled_hits":5071,"pooled_bins":[4,12]},{"bin":10,"lo":0.5,"hi":0.55,"n":477,"hits":172,"rate":0.3606,"ci95":[0.5473,0.5677],"calibrated":0.5575,"usable":true,"bin_ci95":[0.3188,0.4046],"pooled_n":9096,"pooled_hits":5071,"pooled_bins":[4,12]},{"bin":11,"lo":0.55,"hi":0.6,"n":233,"hits":99,"rate":0.4249,"ci95":[0.5473,0.5677],"calibrated":0.5575,"usable":false,"bin_ci95":[0.3631,0.4891],"pooled_n":9096,"pooled_hits":5071,"pooled_bins":[4,12]},{"bin":12,"lo":0.6,"hi":0.65,"n":22,"hits":10,"rate":0.4545,"ci95":[0.5473,0.5677],"calibrated":0.5575,"usable":false,"bin_ci95":[0.2692,0.6534],"pooled_n":9096,"pooled_hits":5071,"pooled_bins":[4,12]},{"bin":13,"lo":0.65,"hi":0.7,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":14,"lo":0.7,"hi":0.75,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":15,"lo":0.75,"hi":0.8,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":16,"lo":0.8,"hi":0.85,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":17,"lo":0.85,"hi":0.9,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":18,"lo":0.9,"hi":0.95,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":19,"lo":0.95,"hi":1.0,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false}],"base_up":0.4447,"base_down":0.5441,"n":11085,"range":["2021-01-03","2022-08-21"]},"proof":{"n":42953,"range":["2023-01-03","2026-05-27"],"reliability_up":[{"bin":6,"lo":0.3,"hi":0.35,"n":1,"said":0.4447,"happened":0.0,"ci95":[0.0,0.7935]},{"bin":7,"lo":0.35,"hi":0.4,"n":55,"said":0.4447,"happened":0.4,"ci95":[0.2812,0.5319]},{"bin":8,"lo":0.4,"hi":0.45,"n":428,"said":0.4447,"happened":0.3832,"ci95":[0.3384,0.4301]},{"bin":9,"lo":0.45,"hi":0.5,"n":1093,"said":0.4307,"happened":0.4016,"ci95":[0.373,0.431]},{"bin":10,"lo":0.5,"hi":0.55,"n":2478,"said":0.4307,"happened":0.3793,"ci95":[0.3604,0.3986]},{"bin":11,"lo":0.55,"hi":0.6,"n":5808,"said":0.4307,"happened":0.397,"ci95":[0.3845,0.4097]},{"bin":12,"lo":0.6,"hi":0.65,"n":4014,"said":0.4307,"happened":0.433,"ci95":[0.4177,0.4484]},{"bin":13,"lo":0.65,"hi":0.7,"n":5966,"said":0.4307,"happened":0.436,"ci95":[0.4234,0.4486]},{"bin":14,"lo":0.7,"hi":0.75,"n":7114,"said":0.4307,"happened":0.427,"ci95":[0.4156,0.4386]},{"bin":15,"lo":0.75,"hi":0.8,"n":7365,"said":0.4307,"happened":0.422,"ci95":[0.4108,0.4333]},{"bin":16,"lo":0.8,"hi":0.85,"n":5882,"said":0.4829,"happened":0.432,"ci95":[0.4194,0.4447]},{"bin":17,"lo":0.85,"hi":0.9,"n":2425,"said":0.5438,"happened":0.3979,"ci95":[0.3786,0.4176]},{"bin":18,"lo":0.9,"hi":0.95,"n":322,"said":0.4447,"happened":0.472,"ci95":[0.4182,0.5266]},{"bin":19,"lo":0.95,"hi":1.0,"n":2,"said":0.4447,"happened":0.5,"ci95":[0.0945,0.9055]}],"reliability_down":[{"bin":0,"lo":0.0,"hi":0.05,"n":2,"said":0.5441,"happened":0.5,"ci95":[0.0945,0.9055]},{"bin":1,"lo":0.05,"hi":0.1,"n":322,"said":0.5441,"happened":0.528,"ci95":[0.4734,0.5818]},{"bin":2,"lo":0.1,"hi":0.15,"n":2425,"said":0.4516,"happened":0.5984,"ci95":[0.5787,0.6177]},{"bin":3,"lo":0.15,"hi":0.2,"n":5882,"said":0.5057,"happened":0.5612,"ci95":[0.5485,0.5738]},{"bin":4,"lo":0.2,"hi":0.25,"n":7365,"said":0.5575,"happened":0.5709,"ci95":[0.5596,0.5822]},{"bin":5,"lo":0.25,"hi":0.3,"n":7114,"said":0.5575,"happened":0.5631,"ci95":[0.5516,0.5746]},{"bin":6,"lo":0.3,"hi":0.35,"n":5966,"said":0.5575,"happened":0.5531,"ci95":[0.5405,0.5657]},{"bin":7,"lo":0.35,"hi":0.4,"n":4014,"said":0.5575,"happened":0.5476,"ci95":[0.5321,0.5629]},{"bin":8,"lo":0.4,"hi":0.45,"n":5808,"said":0.5575,"happened":0.5918,"ci95":[0.5791,0.6043]},{"bin":9,"lo":0.45,"hi":0.5,"n":2478,"said":0.5575,"happened":0.6013,"ci95":[0.5819,0.6204]},{"bin":10,"lo":0.5,"hi":0.55,"n":1093,"said":0.5575,"happened":0.5782,"ci95":[0.5487,0.6072]},{"bin":11,"lo":0.55,"hi":0.6,"n":428,"said":0.5441,"happened":0.6075,"ci95":[0.5605,0.6526]},{"bin":12,"lo":0.6,"hi":0.65,"n":55,"said":0.5441,"happened":0.6,"ci95":[0.4681,0.7188]},{"bin":13,"lo":0.65,"hi":0.7,"n":1,"said":0.5441,"happened":1.0,"ci95":[0.2065,1.0]}],"brier":{"up_model":0.24514,"up_base":0.24415,"down_model":0.24681,"down_base":0.24577},"verdicts":{"pop":{"n":2425,"hits":965,"rate":0.3979,"ci95":[0.3786,0.4176],"base_rate":0.4194,"gap":-0.0215,"holds":false},"dump":{"n":0,"hits":0,"rate":null,"ci95":null,"base_rate":0.57,"gap":null,"holds":false},"no_edge":{"n":40528,"up_rate":0.4207,"down_rate":0.5683},"share_labelled":0.0565},"non_overlapping":{"n":1762,"pop":{"n":114,"hits":55,"rate":0.4825,"ci95":[0.3928,0.5733],"base_rate":0.5051,"gap":-0.0227,"holds":false},"dump":{"n":0,"hits":0,"rate":null,"ci95":null,"base_rate":0.4818,"gap":null,"holds":false},"brier":{"up_model":0.25376,"up_base":0.25362}},"calibration_error_up":0.0274,"calibration_error_down":0.0291,"finding":"5d candles, 2023-01-03 to 2026-05-27, 42,953 held-out bars of 242 pairs: READY TO POP was given 2,425 times and the rise came first in 39.8% (all bars: 41.9%); READY TO DUMP 0 times, the fall first in 0.0% (all bars: 57.0%). The POP edge did NOT hold out of sample. The DUMP edge did NOT hold out of sample. Said-vs-happened gap across bins with 300+ cases: 2.7 points (up)."}},"1w":{"covered":true,"symbols":212,"target":{"up_pct":20.0,"down_pct":20.0,"window":26},"base":{"train":{"n":2535,"up":0.5617,"down":0.4371,"neither":0.0012,"range":["2017-08-14","2020-06-29"]},"calibrate":{"n":7066,"up":0.4382,"down":0.5504,"neither":0.0115,"range":["2021-01-04","2022-06-27"]},"test":{"n":27953,"up":0.4234,"down":0.5643,"neither":0.0123,"range":["2023-01-02","2026-03-30"]}},"features":{"bos_up":{"name":"Break of structure up","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":385,"up":0.5455,"down":0.4545,"ci95_up":[0.4955,0.5945]},"test":{"n":5056,"up":0.3635,"down":0.6141,"ci95_up":[0.3504,0.3769]},"weight_up":-0.0433,"weight_down":0.0465,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"bos_down":{"name":"Break of structure down","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":631,"up":0.6244,"down":0.3756,"ci95_up":[0.586,0.6613]},"test":{"n":8446,"up":0.4504,"down":0.539,"ci95_up":[0.4398,0.461]},"weight_up":0.1976,"weight_down":-0.1939,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"double_bottom":{"name":"Double bottom","group":"pattern","kind":"event","textbook_side":"bullish","included":false,"train":{"n":10,"up":0.5,"down":0.5,"ci95_up":[0.2366,0.7634]},"test":{"n":382,"up":0.466,"down":0.5183,"ci95_up":[0.4165,0.5161]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 10 train cases (< 100)"},"double_top":{"name":"Double top","group":"pattern","kind":"event","textbook_side":"bearish","included":false,"train":{"n":40,"up":0.9,"down":0.1,"ci95_up":[0.7695,0.9604]},"test":{"n":394,"up":0.4086,"down":0.566,"ci95_up":[0.3612,0.4578]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 40 train cases (< 100)"},"inverse_head_shoulders":{"name":"Inverse head and shoulders","group":"pattern","kind":"event","textbook_side":"bullish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":191,"up":0.3822,"down":0.5445,"ci95_up":[0.3163,0.4528]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"head_shoulders":{"name":"Head and shoulders","group":"pattern","kind":"event","textbook_side":"bearish","included":false,"train":{"n":10,"up":0.6,"down":0.4,"ci95_up":[0.3127,0.8318]},"test":{"n":89,"up":0.5056,"down":0.4944,"ci95_up":[0.4037,0.6071]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 10 train cases (< 100)"},"higher_highs_lows":{"name":"Higher highs and higher lows","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":285,"up":0.5825,"down":0.4175,"ci95_up":[0.5245,0.6382]},"test":{"n":4759,"up":0.286,"down":0.6964,"ci95_up":[0.2733,0.299]},"weight_up":0.0498,"weight_down":-0.047,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"lower_highs_lows":{"name":"Lower highs and lower lows","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":330,"up":0.6636,"down":0.3333,"ci95_up":[0.611,0.7125]},"test":{"n":5844,"up":0.5299,"down":0.4617,"ci95_up":[0.5171,0.5427]},"weight_up":0.2687,"weight_down":-0.2741,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"breakout_volume":{"name":"20-bar breakout on volume","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":219,"up":0.4155,"down":0.5845,"ci95_up":[0.3523,0.4817]},"test":{"n":4179,"up":0.3644,"down":0.6157,"ci95_up":[0.35,0.3792]},"weight_up":-0.308,"weight_down":0.3105,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"breakdown_volume":{"name":"20-bar breakdown on volume","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":304,"up":0.7895,"down":0.2105,"ci95_up":[0.7402,0.8315]},"test":{"n":1247,"up":0.4387,"down":0.5589,"ci95_up":[0.4113,0.4663]},"weight_up":0.6476,"weight_down":-0.6447,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"bullish_engulfing":{"name":"Bullish engulfing after a drop","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":933,"up":0.6056,"down":0.3944,"ci95_up":[0.5738,0.6364]},"test":{"n":11843,"up":0.4253,"down":0.5645,"ci95_up":[0.4164,0.4342]},"weight_up":0.1488,"weight_down":-0.1448,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"bearish_engulfing":{"name":"Bearish engulfing after a rise","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":796,"up":0.6068,"down":0.3894,"ci95_up":[0.5724,0.6401]},"test":{"n":9395,"up":0.4291,"down":0.558,"ci95_up":[0.4191,0.4391]},"weight_up":0.1485,"weight_down":-0.1572,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"ascending_triangle":{"name":"Ascending triangle breakout","group":"pattern","kind":"event","textbook_side":"bullish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":80,"up":0.5125,"down":0.45,"ci95_up":[0.4049,0.6189]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"descending_triangle":{"name":"Descending triangle breakdown","group":"pattern","kind":"event","textbook_side":"bearish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":137,"up":0.4015,"down":0.5912,"ci95_up":[0.3231,0.4851]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"bull_flag":{"name":"Bull flag breakout","group":"pattern","kind":"event","textbook_side":"bullish","included":false,"train":{"n":26,"up":0.3846,"down":0.6154,"ci95_up":[0.2243,0.5747]},"test":{"n":200,"up":0.335,"down":0.6,"ci95_up":[0.2732,0.403]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 26 train cases (< 100)"},"bear_flag":{"name":"Bear flag breakdown","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":158,"up":0.7278,"down":0.2722,"ci95_up":[0.6537,0.7912]},"test":{"n":3737,"up":0.5542,"down":0.4343,"ci95_up":[0.5382,0.5701]},"weight_up":0.3247,"weight_down":-0.3225,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"at_support":{"name":"At support","group":"structure","kind":"state","textbook_side":"bullish","included":false,"train":{"n":3,"up":0.0,"down":1.0,"ci95_up":[0.0,0.5615]},"test":{"n":156,"up":0.3718,"down":0.5577,"ci95_up":[0.2999,0.4499]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 3 train cases (< 100)"},"at_resistance":{"name":"At resistance","group":"structure","kind":"state","textbook_side":"bearish","included":false,"train":{"n":1,"up":1.0,"down":0.0,"ci95_up":[0.2065,1.0]},"test":{"n":53,"up":0.5094,"down":0.3019,"ci95_up":[0.3788,0.6388]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 1 train cases (< 100)"},"support_break":{"name":"Support broken","group":"structure","kind":"event","textbook_side":"bearish","included":false,"train":{"n":85,"up":0.7412,"down":0.2588,"ci95_up":[0.6391,0.8224]},"test":{"n":2411,"up":0.4285,"down":0.5558,"ci95_up":[0.4088,0.4483]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 85 train cases (< 100)"},"resistance_break":{"name":"Resistance broken","group":"structure","kind":"event","textbook_side":"bullish","included":false,"train":{"n":10,"up":0.7,"down":0.3,"ci95_up":[0.3968,0.8922]},"test":{"n":1288,"up":0.3253,"down":0.6196,"ci95_up":[0.3003,0.3514]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 10 train cases (< 100)"},"uptrend_line_hold":{"name":"Above a rising trendline","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":381,"up":0.5013,"down":0.4987,"ci95_up":[0.4513,0.5513]},"test":{"n":6159,"up":0.4561,"down":0.5262,"ci95_up":[0.4437,0.4685]},"weight_up":-0.1592,"weight_down":0.1624,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"downtrend_line_hold":{"name":"Below a falling trendline","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":663,"up":0.5973,"down":0.3997,"ci95_up":[0.5595,0.634]},"test":{"n":8730,"up":0.4073,"down":0.5838,"ci95_up":[0.3971,0.4177]},"weight_up":0.1122,"weight_down":-0.1181,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"uptrend_line_break":{"name":"Rising trendline broken","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":301,"up":0.505,"down":0.495,"ci95_up":[0.4488,0.561]},"test":{"n":3849,"up":0.4032,"down":0.5812,"ci95_up":[0.3878,0.4188]},"weight_up":-0.1371,"weight_down":0.14,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"downtrend_line_break":{"name":"Falling trendline broken","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":305,"up":0.5115,"down":0.4885,"ci95_up":[0.4556,0.5671]},"test":{"n":4076,"up":0.4208,"down":0.5699,"ci95_up":[0.4057,0.436]},"weight_up":-0.1221,"weight_down":0.125,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"in_rising_channel":{"name":"Inside a rising channel","group":"structure","kind":"state","textbook_side":"bullish","included":false,"train":{"n":4,"up":0.5,"down":0.5,"ci95_up":[0.15,0.85]},"test":{"n":199,"up":0.4422,"down":0.5427,"ci95_up":[0.3749,0.5117]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 4 train cases (< 100)"},"in_falling_channel":{"name":"Inside a falling channel","group":"structure","kind":"state","textbook_side":"bearish","included":false,"train":{"n":35,"up":0.6,"down":0.4,"ci95_up":[0.4357,0.7445]},"test":{"n":399,"up":0.4511,"down":0.5338,"ci95_up":[0.403,0.5002]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 35 train cases (< 100)"},"at_channel_top":{"name":"At the top of a channel","group":"structure","kind":"state","textbook_side":"bearish","included":false,"train":{"n":1,"up":1.0,"down":0.0,"ci95_up":[0.2065,1.0]},"test":{"n":2,"up":0.5,"down":0.5,"ci95_up":[0.0945,0.9055]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 1 train cases (< 100)"},"at_channel_bottom":{"name":"At the bottom of a channel","group":"structure","kind":"state","textbook_side":"bullish","included":false,"train":{"n":1,"up":0.0,"down":1.0,"ci95_up":[0.0,0.7935]},"test":{"n":4,"up":0.25,"down":0.75,"ci95_up":[0.0456,0.6994]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 1 train cases (< 100)"},"rising_wedge_forming":{"name":"Rising wedge forming","group":"structure","kind":"state","textbook_side":"bearish","included":false,"train":{"n":16,"up":0.5,"down":0.5,"ci95_up":[0.28,0.72]},"test":{"n":237,"up":0.2911,"down":0.7089,"ci95_up":[0.237,0.3519]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 16 train cases (< 100)"},"falling_wedge_forming":{"name":"Falling wedge forming","group":"structure","kind":"state","textbook_side":"bullish","included":false,"train":{"n":13,"up":0.9231,"down":0.0769,"ci95_up":[0.6669,0.9863]},"test":{"n":771,"up":0.6744,"down":0.323,"ci95_up":[0.6406,0.7066]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 13 train cases (< 100)"},"sym_triangle_forming":{"name":"Symmetrical triangle forming","group":"structure","kind":"state","textbook_side":"neutral","included":false,"train":{"n":41,"up":0.6341,"down":0.3659,"ci95_up":[0.4812,0.7641]},"test":{"n":696,"up":0.3836,"down":0.6063,"ci95_up":[0.3482,0.4203]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 41 train cases (< 100)"},"asc_triangle_forming":{"name":"Ascending triangle forming","group":"structure","kind":"state","textbook_side":"bullish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":66,"up":0.5152,"down":0.4848,"ci95_up":[0.3971,0.6315]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"desc_triangle_forming":{"name":"Descending triangle forming","group":"structure","kind":"state","textbook_side":"bearish","included":false,"train":{"n":2,"up":1.0,"down":0.0,"ci95_up":[0.3424,1.0]},"test":{"n":78,"up":0.2564,"down":0.7436,"ci95_up":[0.1726,0.3631]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 2 train cases (< 100)"},"rising_wedge_break_down":{"name":"Rising wedge broke down","group":"structure","kind":"event","textbook_side":"bearish","included":false,"train":{"n":50,"up":0.24,"down":0.76,"ci95_up":[0.143,0.3741]},"test":{"n":866,"up":0.3141,"down":0.6755,"ci95_up":[0.2841,0.3458]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 50 train cases (< 100)"},"falling_wedge_break_up":{"name":"Falling wedge broke up","group":"structure","kind":"event","textbook_side":"bullish","included":false,"train":{"n":82,"up":0.561,"down":0.4268,"ci95_up":[0.4532,0.6633]},"test":{"n":1835,"up":0.5362,"down":0.454,"ci95_up":[0.5134,0.559]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 82 train cases (< 100)"},"sym_triangle_break_up":{"name":"Symmetrical triangle broke up","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":109,"up":0.4404,"down":0.5596,"ci95_up":[0.3508,0.534]},"test":{"n":1440,"up":0.3937,"down":0.5972,"ci95_up":[0.3688,0.4192]},"weight_up":-0.172,"weight_down":0.1738,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"sym_triangle_break_down":{"name":"Symmetrical triangle broke down","group":"structure","kind":"event","textbook_side":"bearish","included":false,"train":{"n":70,"up":0.4286,"down":0.5714,"ci95_up":[0.3194,0.5452]},"test":{"n":2042,"up":0.356,"down":0.6357,"ci95_up":[0.3355,0.377]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 70 train cases (< 100)"},"rsi_oversold":{"name":"RSI oversold","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":183,"up":0.6503,"down":0.3497,"ci95_up":[0.5787,0.7156]},"test":{"n":1693,"up":0.4519,"down":0.5434,"ci95_up":[0.4283,0.4756]},"weight_up":0.1778,"weight_down":-0.1755,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"rsi_overbought":{"name":"RSI overbought","group":"indicator","kind":"state","textbook_side":"bearish","included":false,"train":{"n":74,"up":0.6216,"down":0.3784,"ci95_up":[0.5077,0.7235]},"test":{"n":1024,"up":0.4004,"down":0.5527,"ci95_up":[0.3708,0.4307]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 74 train cases (< 100)"},"macd_cross_up":{"name":"MACD crossed up","group":"indicator","kind":"event","textbook_side":"bullish","included":true,"train":{"n":242,"up":0.7355,"down":0.2603,"ci95_up":[0.6766,0.7871]},"test":{"n":3754,"up":0.4944,"down":0.4941,"ci95_up":[0.4784,0.5104]},"weight_up":0.4242,"weight_down":-0.4333,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"macd_cross_down":{"name":"MACD crossed down","group":"indicator","kind":"event","textbook_side":"bearish","included":true,"train":{"n":196,"up":0.699,"down":0.2959,"ci95_up":[0.6314,0.7589]},"test":{"n":3779,"up":0.3493,"down":0.6361,"ci95_up":[0.3343,0.3646]},"weight_up":0.2942,"weight_down":-0.3038,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"macd_hist_rising":{"name":"MACD histogram rising","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":819,"up":0.6593,"down":0.3382,"ci95_up":[0.6262,0.691]},"test":{"n":12405,"up":0.4868,"down":0.5015,"ci95_up":[0.478,0.4956]},"weight_up":0.3314,"weight_down":-0.3362,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"macd_hist_falling":{"name":"MACD histogram falling","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":624,"up":0.5962,"down":0.4022,"ci95_up":[0.5572,0.634]},"test":{"n":12142,"up":0.3673,"down":0.6163,"ci95_up":[0.3588,0.3759]},"weight_up":0.1071,"weight_down":-0.1084,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"above_sma50":{"name":"Above the 50-bar average","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":324,"up":0.4877,"down":0.5093,"ci95_up":[0.4337,0.5419]},"test":{"n":6572,"up":0.4114,"down":0.5568,"ci95_up":[0.3996,0.4234]},"weight_up":-0.1839,"weight_down":0.1793,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"below_sma50":{"name":"Below the 50-bar average","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":737,"up":0.692,"down":0.3053,"ci95_up":[0.6577,0.7243]},"test":{"n":16460,"up":0.4404,"down":0.5519,"ci95_up":[0.4328,0.448]},"weight_up":0.4416,"weight_down":-0.4478,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"above_sma200":{"name":"Above the 200-bar average","group":"indicator","kind":"state","textbook_side":"bullish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":2129,"up":0.4274,"down":0.5073,"ci95_up":[0.4066,0.4486]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"below_sma200":{"name":"Below the 200-bar average","group":"indicator","kind":"state","textbook_side":"bearish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":7862,"up":0.4223,"down":0.5673,"ci95_up":[0.4114,0.4332]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"golden_trend":{"name":"50 above 200 (golden)","group":"indicator","kind":"state","textbook_side":"bullish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":2328,"up":0.436,"down":0.506,"ci95_up":[0.416,0.4562]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"death_trend":{"name":"50 below 200 (death)","group":"indicator","kind":"state","textbook_side":"bearish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":7663,"up":0.4195,"down":0.5692,"ci95_up":[0.4085,0.4306]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"bb_lower_touch":{"name":"At the lower Bollinger Band","group":"indicator","kind":"state","textbook_side":"bullish","included":false,"train":{"n":56,"up":0.8214,"down":0.1786,"ci95_up":[0.7016,0.9]},"test":{"n":670,"up":0.3448,"down":0.6388,"ci95_up":[0.3098,0.3816]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 56 train cases (< 100)"},"bb_upper_touch":{"name":"At the upper Bollinger Band","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":123,"up":0.4146,"down":0.5854,"ci95_up":[0.3314,0.503]},"test":{"n":1721,"up":0.4492,"down":0.5276,"ci95_up":[0.4258,0.4727]},"weight_up":-0.2258,"weight_down":0.2276,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"volume_surge":{"name":"Volume surge","group":"indicator","kind":"state","textbook_side":"neutral","included":true,"train":{"n":480,"up":0.5333,"down":0.4667,"ci95_up":[0.4886,0.5775]},"test":{"n":4327,"up":0.4414,"down":0.5493,"ci95_up":[0.4267,0.4563]},"weight_up":-0.0808,"weight_down":0.0843,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"squeeze":{"name":"Volatility squeeze","group":"indicator","kind":"state","textbook_side":"neutral","included":false,"train":{"n":37,"up":0.7297,"down":0.2703,"ci95_up":[0.5702,0.846]},"test":{"n":4130,"up":0.5172,"down":0.4695,"ci95_up":[0.5019,0.5324]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 37 train cases (< 100)"},"weekly_signal":{"name":"Weekly Signal","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":171,"up":0.8012,"down":0.1988,"ci95_up":[0.735,0.8541]},"test":{"n":4398,"up":0.5089,"down":0.4857,"ci95_up":[0.4941,0.5236]},"weight_up":0.528,"weight_down":-0.5258,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null}},"calibration":{"up":[{"bin":0,"lo":0.0,"hi":0.05,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":1,"lo":0.05,"hi":0.1,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":2,"lo":0.1,"hi":0.15,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":3,"lo":0.15,"hi":0.2,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":4,"lo":0.2,"hi":0.25,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":5,"lo":0.25,"hi":0.3,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":6,"lo":0.3,"hi":0.35,"n":10,"hits":9,"rate":0.9,"ci95":[0.4178,0.4415],"calibrated":0.4296,"usable":false,"bin_ci95":[0.5958,0.9821],"pooled_n":6669,"pooled_hits":2865,"pooled_bins":[6,17]},{"bin":7,"lo":0.35,"hi":0.4,"n":139,"hits":65,"rate":0.4676,"ci95":[0.4178,0.4415],"calibrated":0.4296,"usable":false,"bin_ci95":[0.3867,0.5503],"pooled_n":6669,"pooled_hits":2865,"pooled_bins":[6,17]},{"bin":8,"lo":0.4,"hi":0.45,"n":269,"hits":157,"rate":0.5836,"ci95":[0.4178,0.4415],"calibrated":0.4296,"usable":false,"bin_ci95":[0.524,0.641],"pooled_n":6669,"pooled_hits":2865,"pooled_bins":[6,17]},{"bin":9,"lo":0.45,"hi":0.5,"n":363,"hits":195,"rate":0.5372,"ci95":[0.4178,0.4415],"calibrated":0.4296,"usable":true,"bin_ci95":[0.4858,0.5878],"pooled_n":6669,"pooled_hits":2865,"pooled_bins":[6,17]},{"bin":10,"lo":0.5,"hi":0.55,"n":418,"hits":195,"rate":0.4665,"ci95":[0.4178,0.4415],"calibrated":0.4296,"usable":true,"bin_ci95":[0.4192,0.5144],"pooled_n":6669,"pooled_hits":2865,"pooled_bins":[6,17]},{"bin":11,"lo":0.55,"hi":0.6,"n":1628,"hits":742,"rate":0.4558,"ci95":[0.4178,0.4415],"calibrated":0.4296,"usable":true,"bin_ci95":[0.4317,0.48],"pooled_n":6669,"pooled_hits":2865,"pooled_bins":[6,17]},{"bin":12,"lo":0.6,"hi":0.65,"n":813,"hits":340,"rate":0.4182,"ci95":[0.4178,0.4415],"calibrated":0.4296,"usable":true,"bin_ci95":[0.3848,0.4524],"pooled_n":6669,"pooled_hits":2865,"pooled_bins":[6,17]},{"bin":13,"lo":0.65,"hi":0.7,"n":665,"hits":281,"rate":0.4226,"ci95":[0.4178,0.4415],"calibrated":0.4296,"usable":true,"bin_ci95":[0.3856,0.4604],"pooled_n":6669,"pooled_hits":2865,"pooled_bins":[6,17]},{"bin":14,"lo":0.7,"hi":0.75,"n":614,"hits":232,"rate":0.3779,"ci95":[0.4178,0.4415],"calibrated":0.4296,"usable":true,"bin_ci95":[0.3404,0.4168],"pooled_n":6669,"pooled_hits":2865,"pooled_bins":[6,17]},{"bin":15,"lo":0.75,"hi":0.8,"n":602,"hits":204,"rate":0.3389,"ci95":[0.4178,0.4415],"calibrated":0.4296,"usable":true,"bin_ci95":[0.3022,0.3776],"pooled_n":6669,"pooled_hits":2865,"pooled_bins":[6,17]},{"bin":16,"lo":0.8,"hi":0.85,"n":618,"hits":219,"rate":0.3544,"ci95":[0.4178,0.4415],"calibrated":0.4296,"usable":true,"bin_ci95":[0.3177,0.3929],"pooled_n":6669,"pooled_hits":2865,"pooled_bins":[6,17]},{"bin":17,"lo":0.85,"hi":0.9,"n":530,"hits":226,"rate":0.4264,"ci95":[0.4178,0.4415],"calibrated":0.4296,"usable":true,"bin_ci95":[0.385,0.4689],"pooled_n":6669,"pooled_hits":2865,"pooled_bins":[6,17]},{"bin":18,"lo":0.9,"hi":0.95,"n":324,"hits":185,"rate":0.571,"ci95":[0.5166,0.6237],"calibrated":0.571,"usable":true,"bin_ci95":[0.5166,0.6237],"pooled_n":324,"pooled_hits":185,"pooled_bins":[18,18]},{"bin":19,"lo":0.95,"hi":1.0,"n":73,"hits":46,"rate":0.6301,"ci95":[0.5155,0.7318],"calibrated":0.6301,"usable":false,"bin_ci95":[0.5155,0.7318],"pooled_n":73,"pooled_hits":46,"pooled_bins":[19,19]}],"down":[{"bin":0,"lo":0.0,"hi":0.05,"n":73,"hits":27,"rate":0.3699,"ci95":[0.2682,0.4845],"calibrated":0.3699,"usable":false,"bin_ci95":[0.2682,0.4845],"pooled_n":73,"pooled_hits":27,"pooled_bins":[0,0]},{"bin":1,"lo":0.05,"hi":0.1,"n":345,"hits":149,"rate":0.4319,"ci95":[0.3806,0.4846],"calibrated":0.4319,"usable":true,"bin_ci95":[0.3806,0.4846],"pooled_n":345,"pooled_hits":149,"pooled_bins":[1,1]},{"bin":2,"lo":0.1,"hi":0.15,"n":539,"hits":296,"rate":0.5492,"ci95":[0.507,0.5907],"calibrated":0.5492,"usable":true,"bin_ci95":[0.507,0.5907],"pooled_n":539,"pooled_hits":296,"pooled_bins":[2,2]},{"bin":3,"lo":0.15,"hi":0.2,"n":610,"hits":400,"rate":0.6557,"ci95":[0.5469,0.5717],"calibrated":0.5593,"usable":true,"bin_ci95":[0.6172,0.6924],"pooled_n":6109,"pooled_hits":3417,"pooled_bins":[3,13]},{"bin":4,"lo":0.2,"hi":0.25,"n":619,"hits":404,"rate":0.6527,"ci95":[0.5469,0.5717],"calibrated":0.5593,"usable":true,"bin_ci95":[0.6143,0.6891],"pooled_n":6109,"pooled_hits":3417,"pooled_bins":[3,13]},{"bin":5,"lo":0.25,"hi":0.3,"n":609,"hits":352,"rate":0.578,"ci95":[0.5469,0.5717],"calibrated":0.5593,"usable":true,"bin_ci95":[0.5384,0.6166],"pooled_n":6109,"pooled_hits":3417,"pooled_bins":[3,13]},{"bin":6,"lo":0.3,"hi":0.35,"n":681,"hits":396,"rate":0.5815,"ci95":[0.5469,0.5717],"calibrated":0.5593,"usable":true,"bin_ci95":[0.5441,0.618],"pooled_n":6109,"pooled_hits":3417,"pooled_bins":[3,13]},{"bin":7,"lo":0.35,"hi":0.4,"n":942,"hits":505,"rate":0.5361,"ci95":[0.5469,0.5717],"calibrated":0.5593,"usable":true,"bin_ci95":[0.5042,0.5677],"pooled_n":6109,"pooled_hits":3417,"pooled_bins":[3,13]},{"bin":8,"lo":0.4,"hi":0.45,"n":1459,"hits":799,"rate":0.5476,"ci95":[0.5469,0.5717],"calibrated":0.5593,"usable":true,"bin_ci95":[0.522,0.573],"pooled_n":6109,"pooled_hits":3417,"pooled_bins":[3,13]},{"bin":9,"lo":0.45,"hi":0.5,"n":428,"hits":225,"rate":0.5257,"ci95":[0.5469,0.5717],"calibrated":0.5593,"usable":true,"bin_ci95":[0.4784,0.5726],"pooled_n":6109,"pooled_hits":3417,"pooled_bins":[3,13]},{"bin":10,"lo":0.5,"hi":0.55,"n":344,"hits":160,"rate":0.4651,"ci95":[0.5469,0.5717],"calibrated":0.5593,"usable":true,"bin_ci95":[0.4131,0.5179],"pooled_n":6109,"pooled_hits":3417,"pooled_bins":[3,13]},{"bin":11,"lo":0.55,"hi":0.6,"n":271,"hits":112,"rate":0.4133,"ci95":[0.5469,0.5717],"calibrated":0.5593,"usable":false,"bin_ci95":[0.3563,0.4727],"pooled_n":6109,"pooled_hits":3417,"pooled_bins":[3,13]},{"bin":12,"lo":0.6,"hi":0.65,"n":138,"hits":64,"rate":0.4638,"ci95":[0.5469,0.5717],"calibrated":0.5593,"usable":false,"bin_ci95":[0.3827,0.5468],"pooled_n":6109,"pooled_hits":3417,"pooled_bins":[3,13]},{"bin":13,"lo":0.65,"hi":0.7,"n":8,"hits":0,"rate":0.0,"ci95":[0.5469,0.5717],"calibrated":0.5593,"usable":false,"bin_ci95":[0.0,0.3244],"pooled_n":6109,"pooled_hits":3417,"pooled_bins":[3,13]},{"bin":14,"lo":0.7,"hi":0.75,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":15,"lo":0.75,"hi":0.8,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":16,"lo":0.8,"hi":0.85,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":17,"lo":0.85,"hi":0.9,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":18,"lo":0.9,"hi":0.95,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":19,"lo":0.95,"hi":1.0,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false}],"base_up":0.4382,"base_down":0.5504,"n":7066,"range":["2021-01-04","2022-06-27"]},"proof":{"n":27953,"range":["2023-01-02","2026-03-30"],"reliability_up":[{"bin":6,"lo":0.3,"hi":0.35,"n":20,"said":0.4382,"happened":0.6,"ci95":[0.3866,0.7812]},{"bin":7,"lo":0.35,"hi":0.4,"n":165,"said":0.4382,"happened":0.4848,"ci95":[0.4098,0.5606]},{"bin":8,"lo":0.4,"hi":0.45,"n":652,"said":0.4382,"happened":0.4325,"ci95":[0.395,0.4708]},{"bin":9,"lo":0.45,"hi":0.5,"n":1224,"said":0.4296,"happened":0.3881,"ci95":[0.3612,0.4157]},{"bin":10,"lo":0.5,"hi":0.55,"n":1335,"said":0.4296,"happened":0.3948,"ci95":[0.3689,0.4212]},{"bin":11,"lo":0.55,"hi":0.6,"n":3309,"said":0.4296,"happened":0.3778,"ci95":[0.3614,0.3944]},{"bin":12,"lo":0.6,"hi":0.65,"n":2423,"said":0.4296,"happened":0.378,"ci95":[0.3589,0.3975]},{"bin":13,"lo":0.65,"hi":0.7,"n":2852,"said":0.4296,"happened":0.3573,"ci95":[0.3399,0.3751]},{"bin":14,"lo":0.7,"hi":0.75,"n":3494,"said":0.4296,"happened":0.3915,"ci95":[0.3755,0.4078]},{"bin":15,"lo":0.75,"hi":0.8,"n":3667,"said":0.4296,"happened":0.4363,"ci95":[0.4203,0.4524]},{"bin":16,"lo":0.8,"hi":0.85,"n":3676,"said":0.4296,"happened":0.4548,"ci95":[0.4388,0.471]},{"bin":17,"lo":0.85,"hi":0.9,"n":3253,"said":0.4296,"happened":0.4863,"ci95":[0.4692,0.5035]},{"bin":18,"lo":0.9,"hi":0.95,"n":1686,"said":0.571,"happened":0.5457,"ci95":[0.5218,0.5693]},{"bin":19,"lo":0.95,"hi":1.0,"n":197,"said":0.4382,"happened":0.6751,"ci95":[0.6069,0.7366]}],"reliability_down":[{"bin":0,"lo":0.0,"hi":0.05,"n":214,"said":0.5504,"happened":0.3224,"ci95":[0.2634,0.3877]},{"bin":1,"lo":0.05,"hi":0.1,"n":1803,"said":0.4319,"happened":0.4537,"ci95":[0.4308,0.4767]},{"bin":2,"lo":0.1,"hi":0.15,"n":3284,"said":0.5492,"happened":0.5088,"ci95":[0.4917,0.5259]},{"bin":3,"lo":0.15,"hi":0.2,"n":3701,"said":0.5593,"happened":0.5312,"ci95":[0.5151,0.5472]},{"bin":4,"lo":0.2,"hi":0.25,"n":3734,"said":0.5593,"happened":0.5651,"ci95":[0.5491,0.5809]},{"bin":5,"lo":0.25,"hi":0.3,"n":3375,"said":0.5593,"happened":0.5985,"ci95":[0.5819,0.6149]},{"bin":6,"lo":0.3,"hi":0.35,"n":2872,"said":0.5593,"happened":0.6215,"ci95":[0.6036,0.6391]},{"bin":7,"lo":0.35,"hi":0.4,"n":2541,"said":0.5593,"happened":0.6159,"ci95":[0.5968,0.6346]},{"bin":8,"lo":0.4,"hi":0.45,"n":3079,"said":0.5593,"happened":0.6093,"ci95":[0.5919,0.6264]},{"bin":9,"lo":0.45,"hi":0.5,"n":1325,"said":0.5593,"happened":0.5774,"ci95":[0.5506,0.6037]},{"bin":10,"lo":0.5,"hi":0.55,"n":1199,"said":0.5593,"happened":0.5771,"ci95":[0.549,0.6048]},{"bin":11,"lo":0.55,"hi":0.6,"n":641,"said":0.5504,"happened":0.5367,"ci95":[0.498,0.5749]},{"bin":12,"lo":0.6,"hi":0.65,"n":165,"said":0.5504,"happened":0.5091,"ci95":[0.4335,0.5843]},{"bin":13,"lo":0.65,"hi":0.7,"n":20,"said":0.5504,"happened":0.4,"ci95":[0.2188,0.6134]}],"brier":{"up_model":0.24336,"up_base":0.24435,"down_model":0.24505,"down_base":0.24606},"verdicts":{"pop":{"n":1686,"hits":920,"rate":0.5457,"ci95":[0.5218,0.5693],"base_rate":0.4234,"gap":0.1223,"holds":true},"dump":{"n":0,"hits":0,"rate":null,"ci95":null,"base_rate":0.5643,"gap":null,"holds":false},"no_edge":{"n":26267,"up_rate":0.4156,"down_rate":0.5718},"share_labelled":0.0603},"non_overlapping":{"n":1175,"pop":{"n":99,"hits":65,"rate":0.6566,"ci95":[0.5588,0.7427],"base_rate":0.5396,"gap":0.117,"holds":false},"dump":{"n":0,"hits":0,"rate":null,"ci95":null,"base_rate":0.4545,"gap":null,"holds":false},"brier":{"up_model":0.25653,"up_base":0.25871}},"calibration_error_up":0.0392,"calibration_error_down":0.0349,"finding":"1w candles, 2023-01-02 to 2026-03-30, 27,953 held-out bars of 212 pairs: READY TO POP was given 1,686 times and the rise came first in 54.6% (all bars: 42.3%); READY TO DUMP 0 times, the fall first in 0.0% (all bars: 56.4%). The POP edge held out of sample. The DUMP edge did NOT hold out of sample. Said-vs-happened gap across bins with 300+ cases: 3.9 points (up)."}},"2w":{"covered":true,"symbols":157,"target":{"up_pct":25.0,"down_pct":25.0,"window":26},"split":{"train":"bars whose outcome window ends before 2023-01-01","calibrate":"bars from 2023-01-01 whose window ends before 2025-01-01","test":"bars from 2025-01-01 on (held out: never used to fit a weight or a calibration)"},"base":{"train":{"n":4176,"up":0.5208,"down":0.4703,"neither":0.0089,"range":["2017-08-14","2021-12-27"]},"calibrate":{"n":3189,"up":0.593,"down":0.4014,"neither":0.0056,"range":["2023-01-09","2023-12-25"]},"test":{"n":3140,"up":0.3194,"down":0.6771,"neither":0.0035,"range":["2025-01-06","2025-09-29"]}},"features":{"bos_up":{"name":"Break of structure up","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":821,"up":0.5676,"down":0.4324,"ci95_up":[0.5335,0.6011]},"test":{"n":414,"up":0.3816,"down":0.6087,"ci95_up":[0.3361,0.4293]},"weight_up":0.1518,"weight_down":-0.1231,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"bos_down":{"name":"Break of structure down","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":405,"up":0.7062,"down":0.2691,"ci95_up":[0.66,0.7484]},"test":{"n":1237,"up":0.3614,"down":0.6386,"ci95_up":[0.3351,0.3885]},"weight_up":0.5313,"weight_down":-0.5891,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"double_bottom":{"name":"Double bottom","group":"pattern","kind":"event","textbook_side":"bullish","included":false,"train":{"n":20,"up":0.5,"down":0.5,"ci95_up":[0.2993,0.7007]},"test":{"n":54,"up":0.2593,"down":0.7407,"ci95_up":[0.1612,0.3893]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 20 train cases (< 100)"},"double_top":{"name":"Double top","group":"pattern","kind":"event","textbook_side":"bearish","included":false,"train":{"n":2,"up":0.0,"down":1.0,"ci95_up":[0.0,0.6576]},"test":{"n":30,"up":0.3,"down":0.7,"ci95_up":[0.1666,0.4788]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 2 train cases (< 100)"},"inverse_head_shoulders":{"name":"Inverse head and shoulders","group":"pattern","kind":"event","textbook_side":"bullish","included":false,"train":{"n":10,"up":0.4,"down":0.6,"ci95_up":[0.1682,0.6873]},"test":{"n":0,"up":null,"down":null,"ci95_up":null},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 10 train cases (< 100)"},"head_shoulders":{"name":"Head and shoulders","group":"pattern","kind":"event","textbook_side":"bearish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":20,"up":0.5,"down":0.5,"ci95_up":[0.2993,0.7007]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"higher_highs_lows":{"name":"Higher highs and higher lows","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":464,"up":0.5366,"down":0.4634,"ci95_up":[0.4911,0.5815]},"test":{"n":476,"up":0.3803,"down":0.6197,"ci95_up":[0.3378,0.4247]},"weight_up":0.0444,"weight_down":-0.0195,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"lower_highs_lows":{"name":"Lower highs and lower lows","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":232,"up":0.7328,"down":0.2241,"ci95_up":[0.6724,0.7856]},"test":{"n":976,"up":0.2582,"down":0.7398,"ci95_up":[0.2317,0.2866]},"weight_up":0.497,"weight_down":-0.603,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"breakout_volume":{"name":"20-bar breakout on volume","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":682,"up":0.5689,"down":0.4311,"ci95_up":[0.5315,0.6056]},"test":{"n":240,"up":0.4458,"down":0.5542,"ci95_up":[0.3843,0.5091]},"weight_up":0.1501,"weight_down":-0.1225,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"breakdown_volume":{"name":"20-bar breakdown on volume","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":130,"up":0.8846,"down":0.1154,"ci95_up":[0.8183,0.9288]},"test":{"n":239,"up":0.431,"down":0.569,"ci95_up":[0.3698,0.4943]},"weight_up":0.7696,"weight_down":-0.7556,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"bullish_engulfing":{"name":"Bullish engulfing after a drop","group":"pattern","kind":"event","textbook_side":"bullish","included":true,"train":{"n":1039,"up":0.5168,"down":0.4716,"ci95_up":[0.4865,0.5471]},"test":{"n":868,"up":0.2926,"down":0.7062,"ci95_up":[0.2633,0.3238]},"weight_up":-0.0133,"weight_down":0.0044,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"bearish_engulfing":{"name":"Bearish engulfing after a rise","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":1101,"up":0.515,"down":0.4768,"ci95_up":[0.4855,0.5444]},"test":{"n":1716,"up":0.2925,"down":0.701,"ci95_up":[0.2715,0.3145]},"weight_up":-0.0197,"weight_down":0.0222,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"ascending_triangle":{"name":"Ascending triangle breakout","group":"pattern","kind":"event","textbook_side":"bullish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":0,"up":null,"down":null,"ci95_up":null},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"descending_triangle":{"name":"Descending triangle breakdown","group":"pattern","kind":"event","textbook_side":"bearish","included":false,"train":{"n":10,"up":0.3,"down":0.7,"ci95_up":[0.1078,0.6032]},"test":{"n":15,"up":0.4,"down":0.6,"ci95_up":[0.1982,0.6425]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 10 train cases (< 100)"},"bull_flag":{"name":"Bull flag breakout","group":"pattern","kind":"event","textbook_side":"bullish","included":false,"train":{"n":30,"up":0.6333,"down":0.3667,"ci95_up":[0.4551,0.7813]},"test":{"n":20,"up":0.65,"down":0.35,"ci95_up":[0.4329,0.8188]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 30 train cases (< 100)"},"bear_flag":{"name":"Bear flag breakdown","group":"pattern","kind":"event","textbook_side":"bearish","included":true,"train":{"n":104,"up":0.7404,"down":0.2596,"ci95_up":[0.6486,0.815]},"test":{"n":442,"up":0.2783,"down":0.7217,"ci95_up":[0.2385,0.3218]},"weight_up":0.33,"weight_down":-0.3178,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"at_support":{"name":"At support","group":"structure","kind":"state","textbook_side":"bullish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":8,"up":0.375,"down":0.625,"ci95_up":[0.1368,0.6943]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"at_resistance":{"name":"At resistance","group":"structure","kind":"state","textbook_side":"bearish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":0,"up":null,"down":null,"ci95_up":null},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"support_break":{"name":"Support broken","group":"structure","kind":"event","textbook_side":"bearish","included":false,"train":{"n":30,"up":0.7333,"down":0.2667,"ci95_up":[0.5555,0.8582]},"test":{"n":250,"up":0.408,"down":0.592,"ci95_up":[0.3489,0.4699]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 30 train cases (< 100)"},"resistance_break":{"name":"Resistance broken","group":"structure","kind":"event","textbook_side":"bullish","included":false,"train":{"n":10,"up":0.6,"down":0.4,"ci95_up":[0.3127,0.8318]},"test":{"n":44,"up":0.2955,"down":0.7045,"ci95_up":[0.1816,0.4422]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 10 train cases (< 100)"},"uptrend_line_hold":{"name":"Above a rising trendline","group":"structure","kind":"state","textbook_side":"bullish","included":true,"train":{"n":792,"up":0.5265,"down":0.4735,"ci95_up":[0.4917,0.5611]},"test":{"n":593,"up":0.2732,"down":0.7268,"ci95_up":[0.2389,0.3104]},"weight_up":0.0183,"weight_down":0.0102,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"downtrend_line_hold":{"name":"Below a falling trendline","group":"structure","kind":"state","textbook_side":"bearish","included":true,"train":{"n":461,"up":0.5358,"down":0.4317,"ci95_up":[0.4902,0.5808]},"test":{"n":1358,"up":0.3719,"down":0.6267,"ci95_up":[0.3466,0.3979]},"weight_up":0.042,"weight_down":-0.1089,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"uptrend_line_break":{"name":"Rising trendline broken","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":275,"up":0.5382,"down":0.4582,"ci95_up":[0.4791,0.5962]},"test":{"n":459,"up":0.4074,"down":0.5882,"ci95_up":[0.3634,0.4529]},"weight_up":0.0404,"weight_down":-0.0282,"measured_side":"none","held_out_edge_holds":null,"excluded_reason":null},"downtrend_line_break":{"name":"Falling trendline broken","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":350,"up":0.6657,"down":0.3343,"ci95_up":[0.6147,0.7131]},"test":{"n":372,"up":0.2823,"down":0.7177,"ci95_up":[0.2389,0.33]},"weight_up":0.3854,"weight_down":-0.3627,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"in_rising_channel":{"name":"Inside a rising channel","group":"structure","kind":"state","textbook_side":"bullish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":19,"up":0.4211,"down":0.5789,"ci95_up":[0.2314,0.6372]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"in_falling_channel":{"name":"Inside a falling channel","group":"structure","kind":"state","textbook_side":"bearish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":86,"up":0.5465,"down":0.4535,"ci95_up":[0.4416,0.6475]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"at_channel_top":{"name":"At the top of a channel","group":"structure","kind":"state","textbook_side":"bearish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":0,"up":null,"down":null,"ci95_up":null},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"at_channel_bottom":{"name":"At the bottom of a channel","group":"structure","kind":"state","textbook_side":"bullish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":1,"up":1.0,"down":0.0,"ci95_up":[0.2065,1.0]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"rising_wedge_forming":{"name":"Rising wedge forming","group":"structure","kind":"state","textbook_side":"bearish","included":false,"train":{"n":43,"up":0.5349,"down":0.4651,"ci95_up":[0.3892,0.6749]},"test":{"n":29,"up":0.3103,"down":0.6897,"ci95_up":[0.1728,0.4923]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 43 train cases (< 100)"},"falling_wedge_forming":{"name":"Falling wedge forming","group":"structure","kind":"state","textbook_side":"bullish","included":false,"train":{"n":18,"up":0.7778,"down":0.2222,"ci95_up":[0.5478,0.91]},"test":{"n":62,"up":0.0806,"down":0.9194,"ci95_up":[0.0349,0.1753]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 18 train cases (< 100)"},"sym_triangle_forming":{"name":"Symmetrical triangle forming","group":"structure","kind":"state","textbook_side":"neutral","included":false,"train":{"n":50,"up":0.26,"down":0.74,"ci95_up":[0.1587,0.3955]},"test":{"n":108,"up":0.1296,"down":0.8704,"ci95_up":[0.0788,0.2059]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 50 train cases (< 100)"},"asc_triangle_forming":{"name":"Ascending triangle forming","group":"structure","kind":"state","textbook_side":"bullish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":2,"up":0.0,"down":1.0,"ci95_up":[0.0,0.6576]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"desc_triangle_forming":{"name":"Descending triangle forming","group":"structure","kind":"state","textbook_side":"bearish","included":false,"train":{"n":10,"up":0.2,"down":0.0,"ci95_up":[0.0567,0.5098]},"test":{"n":20,"up":0.25,"down":0.75,"ci95_up":[0.1119,0.4687]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 10 train cases (< 100)"},"rising_wedge_break_down":{"name":"Rising wedge broke down","group":"structure","kind":"event","textbook_side":"bearish","included":false,"train":{"n":34,"up":0.4706,"down":0.5294,"ci95_up":[0.3145,0.6326]},"test":{"n":102,"up":0.4314,"down":0.5686,"ci95_up":[0.3395,0.5283]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 34 train cases (< 100)"},"falling_wedge_break_up":{"name":"Falling wedge broke up","group":"structure","kind":"event","textbook_side":"bullish","included":false,"train":{"n":40,"up":0.725,"down":0.275,"ci95_up":[0.5716,0.8389]},"test":{"n":284,"up":0.1162,"down":0.8768,"ci95_up":[0.0839,0.1587]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 40 train cases (< 100)"},"sym_triangle_break_up":{"name":"Symmetrical triangle broke up","group":"structure","kind":"event","textbook_side":"bullish","included":true,"train":{"n":105,"up":0.4667,"down":0.5238,"ci95_up":[0.3741,0.5616]},"test":{"n":164,"up":0.25,"down":0.75,"ci95_up":[0.19,0.3215]},"weight_up":-0.0746,"weight_down":0.0738,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"sym_triangle_break_down":{"name":"Symmetrical triangle broke down","group":"structure","kind":"event","textbook_side":"bearish","included":true,"train":{"n":122,"up":0.6148,"down":0.3852,"ci95_up":[0.5262,0.6964]},"test":{"n":301,"up":0.299,"down":0.6977,"ci95_up":[0.2501,0.353]},"weight_up":0.1455,"weight_down":-0.132,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"rsi_oversold":{"name":"RSI oversold","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":151,"up":0.5828,"down":0.4172,"ci95_up":[0.503,0.6584]},"test":{"n":112,"up":0.2946,"down":0.7054,"ci95_up":[0.2182,0.3848]},"weight_up":0.108,"weight_down":-0.0926,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"rsi_overbought":{"name":"RSI overbought","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":446,"up":0.4462,"down":0.5538,"ci95_up":[0.4007,0.4926]},"test":{"n":42,"up":0.5714,"down":0.3571,"ci95_up":[0.4221,0.7088]},"weight_up":-0.2067,"weight_down":0.2313,"measured_side":"down","held_out_edge_holds":null,"excluded_reason":null},"macd_cross_up":{"name":"MACD crossed up","group":"indicator","kind":"event","textbook_side":"bullish","included":true,"train":{"n":239,"up":0.4812,"down":0.5188,"ci95_up":[0.4186,0.5443]},"test":{"n":627,"up":0.193,"down":0.8054,"ci95_up":[0.164,0.2257]},"weight_up":-0.0863,"weight_down":0.1058,"measured_side":"down","held_out_edge_holds":true,"excluded_reason":null},"macd_cross_down":{"name":"MACD crossed down","group":"indicator","kind":"event","textbook_side":"bearish","included":true,"train":{"n":306,"up":0.6503,"down":0.3464,"ci95_up":[0.5953,0.7016]},"test":{"n":640,"up":0.4359,"down":0.5641,"ci95_up":[0.398,0.4746]},"weight_up":0.3249,"weight_down":-0.312,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"macd_hist_rising":{"name":"MACD histogram rising","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":716,"up":0.581,"down":0.4176,"ci95_up":[0.5445,0.6166]},"test":{"n":1446,"up":0.2905,"down":0.7075,"ci95_up":[0.2676,0.3144]},"weight_up":0.1905,"weight_down":-0.167,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"macd_hist_falling":{"name":"MACD histogram falling","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":805,"up":0.5478,"down":0.4497,"ci95_up":[0.5133,0.5819]},"test":{"n":1361,"up":0.3578,"down":0.6363,"ci95_up":[0.3328,0.3837]},"weight_up":0.087,"weight_down":-0.0665,"measured_side":"up","held_out_edge_holds":true,"excluded_reason":null},"above_sma50":{"name":"Above the 50-bar average","group":"indicator","kind":"state","textbook_side":"bullish","included":true,"train":{"n":803,"up":0.5044,"down":0.4944,"ci95_up":[0.4698,0.5388]},"test":{"n":657,"up":0.3501,"down":0.6332,"ci95_up":[0.3146,0.3873]},"weight_up":-0.0527,"weight_down":0.0773,"measured_side":"down","held_out_edge_holds":false,"excluded_reason":null},"below_sma50":{"name":"Below the 50-bar average","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":154,"up":0.8312,"down":0.1688,"ci95_up":[0.7641,0.8821]},"test":{"n":1791,"up":0.3244,"down":0.6756,"ci95_up":[0.3031,0.3464]},"weight_up":0.6572,"weight_down":-0.6417,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"above_sma200":{"name":"Above the 200-bar average","group":"indicator","kind":"state","textbook_side":"bullish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":42,"up":0.4048,"down":0.5952,"ci95_up":[0.2704,0.5551]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"below_sma200":{"name":"Below the 200-bar average","group":"indicator","kind":"state","textbook_side":"bearish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":7,"up":0.0,"down":1.0,"ci95_up":[0.0,0.3543]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"golden_trend":{"name":"50 above 200 (golden)","group":"indicator","kind":"state","textbook_side":"bullish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":36,"up":0.4722,"down":0.5278,"ci95_up":[0.3199,0.6299]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"death_trend":{"name":"50 below 200 (death)","group":"indicator","kind":"state","textbook_side":"bearish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":13,"up":0.0,"down":1.0,"ci95_up":[0.0,0.2281]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"},"bb_lower_touch":{"name":"At the lower Bollinger Band","group":"indicator","kind":"state","textbook_side":"bullish","included":false,"train":{"n":8,"up":1.0,"down":0.0,"ci95_up":[0.6756,1.0]},"test":{"n":25,"up":0.4,"down":0.6,"ci95_up":[0.234,0.5926]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 8 train cases (< 100)"},"bb_upper_touch":{"name":"At the upper Bollinger Band","group":"indicator","kind":"state","textbook_side":"bearish","included":true,"train":{"n":370,"up":0.5514,"down":0.4486,"ci95_up":[0.5004,0.6012]},"test":{"n":36,"up":0.4167,"down":0.5556,"ci95_up":[0.2714,0.578]},"weight_up":0.0798,"weight_down":-0.0566,"measured_side":"up","held_out_edge_holds":null,"excluded_reason":null},"volume_surge":{"name":"Volume surge","group":"indicator","kind":"state","textbook_side":"neutral","included":true,"train":{"n":631,"up":0.5705,"down":0.4263,"ci95_up":[0.5316,0.6086]},"test":{"n":383,"up":0.2768,"down":0.7206,"ci95_up":[0.2343,0.3236]},"weight_up":0.1524,"weight_down":-0.1352,"measured_side":"up","held_out_edge_holds":false,"excluded_reason":null},"squeeze":{"name":"Volatility squeeze","group":"indicator","kind":"state","textbook_side":"neutral","included":false,"train":{"n":17,"up":0.0588,"down":0.9412,"ci95_up":[0.0105,0.2698]},"test":{"n":222,"up":0.3423,"down":0.6577,"ci95_up":[0.2831,0.407]},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 17 train cases (< 100)"},"weekly_signal":{"name":"Weekly Signal","group":"indicator","kind":"state","textbook_side":"bullish","included":false,"train":{"n":0,"up":null,"down":null,"ci95_up":null},"test":{"n":0,"up":null,"down":null,"ci95_up":null},"weight_up":0.0,"weight_down":0.0,"measured_side":null,"held_out_edge_holds":null,"excluded_reason":"only 0 train cases (< 100)"}},"calibration":{"up":[{"bin":0,"lo":0.0,"hi":0.05,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":1,"lo":0.05,"hi":0.1,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":2,"lo":0.1,"hi":0.15,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":3,"lo":0.15,"hi":0.2,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":4,"lo":0.2,"hi":0.25,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":5,"lo":0.25,"hi":0.3,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":6,"lo":0.3,"hi":0.35,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":7,"lo":0.35,"hi":0.4,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":8,"lo":0.4,"hi":0.45,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":9,"lo":0.45,"hi":0.5,"n":1,"hits":1,"rate":1.0,"ci95":[0.4605,0.5379],"calibrated":0.4992,"usable":false,"bin_ci95":[0.2065,1.0],"pooled_n":637,"pooled_hits":318,"pooled_bins":[9,12]},{"bin":10,"lo":0.5,"hi":0.55,"n":357,"hits":193,"rate":0.5406,"ci95":[0.4605,0.5379],"calibrated":0.4992,"usable":true,"bin_ci95":[0.4888,0.5916],"pooled_n":637,"pooled_hits":318,"pooled_bins":[9,12]},{"bin":11,"lo":0.55,"hi":0.6,"n":157,"hits":65,"rate":0.414,"ci95":[0.4605,0.5379],"calibrated":0.4992,"usable":false,"bin_ci95":[0.3399,0.4922],"pooled_n":637,"pooled_hits":318,"pooled_bins":[9,12]},{"bin":12,"lo":0.6,"hi":0.65,"n":122,"hits":59,"rate":0.4836,"ci95":[0.4605,0.5379],"calibrated":0.4992,"usable":false,"bin_ci95":[0.3968,0.5714],"pooled_n":637,"pooled_hits":318,"pooled_bins":[9,12]},{"bin":13,"lo":0.65,"hi":0.7,"n":425,"hits":239,"rate":0.5624,"ci95":[0.5066,0.5678],"calibrated":0.5374,"usable":true,"bin_ci95":[0.5148,0.6088],"pooled_n":1018,"pooled_hits":547,"pooled_bins":[13,14]},{"bin":14,"lo":0.7,"hi":0.75,"n":593,"hits":308,"rate":0.5194,"ci95":[0.5066,0.5678],"calibrated":0.5374,"usable":true,"bin_ci95":[0.4792,0.5594],"pooled_n":1018,"pooled_hits":547,"pooled_bins":[13,14]},{"bin":15,"lo":0.75,"hi":0.8,"n":463,"hits":292,"rate":0.6307,"ci95":[0.5858,0.6734],"calibrated":0.6307,"usable":true,"bin_ci95":[0.5858,0.6734],"pooled_n":463,"pooled_hits":292,"pooled_bins":[15,15]},{"bin":16,"lo":0.8,"hi":0.85,"n":490,"hits":329,"rate":0.6714,"ci95":[0.6286,0.7115],"calibrated":0.6714,"usable":true,"bin_ci95":[0.6286,0.7115],"pooled_n":490,"pooled_hits":329,"pooled_bins":[16,16]},{"bin":17,"lo":0.85,"hi":0.9,"n":371,"hits":261,"rate":0.7035,"ci95":[0.6585,0.733],"calibrated":0.6971,"usable":true,"bin_ci95":[0.6551,0.7477],"pooled_n":581,"pooled_hits":405,"pooled_bins":[17,19]},{"bin":18,"lo":0.9,"hi":0.95,"n":199,"hits":137,"rate":0.6884,"ci95":[0.6585,0.733],"calibrated":0.6971,"usable":false,"bin_ci95":[0.621,0.7487],"pooled_n":581,"pooled_hits":405,"pooled_bins":[17,19]},{"bin":19,"lo":0.95,"hi":1.0,"n":11,"hits":7,"rate":0.6364,"ci95":[0.6585,0.733],"calibrated":0.6971,"usable":false,"bin_ci95":[0.3538,0.8483],"pooled_n":581,"pooled_hits":405,"pooled_bins":[17,19]}],"down":[{"bin":0,"lo":0.0,"hi":0.05,"n":14,"hits":4,"rate":0.2857,"ci95":[0.1172,0.5465],"calibrated":0.2857,"usable":false,"bin_ci95":[0.1172,0.5465],"pooled_n":14,"pooled_hits":4,"pooled_bins":[0,0]},{"bin":1,"lo":0.05,"hi":0.1,"n":226,"hits":67,"rate":0.2965,"ci95":[0.2407,0.359],"calibrated":0.2965,"usable":false,"bin_ci95":[0.2407,0.359],"pooled_n":226,"pooled_hits":67,"pooled_bins":[1,1]},{"bin":2,"lo":0.1,"hi":0.15,"n":381,"hits":115,"rate":0.3018,"ci95":[0.2579,0.3497],"calibrated":0.3018,"usable":true,"bin_ci95":[0.2579,0.3497],"pooled_n":381,"pooled_hits":115,"pooled_bins":[2,2]},{"bin":3,"lo":0.15,"hi":0.2,"n":570,"hits":190,"rate":0.3333,"ci95":[0.2959,0.373],"calibrated":0.3333,"usable":true,"bin_ci95":[0.2959,0.373],"pooled_n":570,"pooled_hits":190,"pooled_bins":[3,3]},{"bin":4,"lo":0.2,"hi":0.25,"n":340,"hits":131,"rate":0.3853,"ci95":[0.3351,0.438],"calibrated":0.3853,"usable":true,"bin_ci95":[0.3351,0.438],"pooled_n":340,"pooled_hits":131,"pooled_bins":[4,4]},{"bin":5,"lo":0.25,"hi":0.3,"n":577,"hits":283,"rate":0.4905,"ci95":[0.43,0.4885],"calibrated":0.4591,"usable":true,"bin_ci95":[0.4499,0.5312],"pooled_n":1113,"pooled_hits":511,"pooled_bins":[5,7]},{"bin":6,"lo":0.3,"hi":0.35,"n":453,"hits":191,"rate":0.4216,"ci95":[0.43,0.4885],"calibrated":0.4591,"usable":true,"bin_ci95":[0.377,0.4676],"pooled_n":1113,"pooled_hits":511,"pooled_bins":[5,7]},{"bin":7,"lo":0.35,"hi":0.4,"n":83,"hits":37,"rate":0.4458,"ci95":[0.43,0.4885],"calibrated":0.4591,"usable":false,"bin_ci95":[0.3436,0.5528],"pooled_n":1113,"pooled_hits":511,"pooled_bins":[5,7]},{"bin":8,"lo":0.4,"hi":0.45,"n":213,"hits":120,"rate":0.5634,"ci95":[0.4391,0.5227],"calibrated":0.4807,"usable":false,"bin_ci95":[0.4962,0.6283],"pooled_n":545,"pooled_hits":262,"pooled_bins":[8,10]},{"bin":9,"lo":0.45,"hi":0.5,"n":331,"hits":142,"rate":0.429,"ci95":[0.4391,0.5227],"calibrated":0.4807,"usable":true,"bin_ci95":[0.3768,0.4828],"pooled_n":545,"pooled_hits":262,"pooled_bins":[8,10]},{"bin":10,"lo":0.5,"hi":0.55,"n":1,"hits":0,"rate":0.0,"ci95":[0.4391,0.5227],"calibrated":0.4807,"usable":false,"bin_ci95":[0.0,0.7935],"pooled_n":545,"pooled_hits":262,"pooled_bins":[8,10]},{"bin":11,"lo":0.55,"hi":0.6,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":12,"lo":0.6,"hi":0.65,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":13,"lo":0.65,"hi":0.7,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":14,"lo":0.7,"hi":0.75,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":15,"lo":0.75,"hi":0.8,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":16,"lo":0.8,"hi":0.85,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":17,"lo":0.85,"hi":0.9,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":18,"lo":0.9,"hi":0.95,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false},{"bin":19,"lo":0.95,"hi":1.0,"n":0,"hits":0,"rate":null,"ci95":null,"calibrated":null,"usable":false}],"base_up":0.593,"base_down":0.4014,"n":3189,"range":["2023-01-09","2023-12-25"]},"proof":{"n":3140,"range":["2025-01-06","2025-09-29"],"reliability_up":[{"bin":9,"lo":0.45,"hi":0.5,"n":5,"said":0.593,"happened":0.4,"ci95":[0.1176,0.7693]},{"bin":10,"lo":0.5,"hi":0.55,"n":219,"said":0.4992,"happened":0.2603,"ci95":[0.2066,0.3222]},{"bin":11,"lo":0.55,"hi":0.6,"n":194,"said":0.593,"happened":0.3402,"ci95":[0.2772,0.4094]},{"bin":12,"lo":0.6,"hi":0.65,"n":220,"said":0.593,"happened":0.3273,"ci95":[0.2687,0.3918]},{"bin":13,"lo":0.65,"hi":0.7,"n":388,"said":0.5374,"happened":0.2423,"ci95":[0.2023,0.2873]},{"bin":14,"lo":0.7,"hi":0.75,"n":426,"said":0.5374,"happened":0.3263,"ci95":[0.2835,0.3722]},{"bin":15,"lo":0.75,"hi":0.8,"n":382,"said":0.6307,"happened":0.2984,"ci95":[0.2547,0.3461]},{"bin":16,"lo":0.8,"hi":0.85,"n":608,"said":0.6714,"happened":0.3438,"ci95":[0.3071,0.3824]},{"bin":17,"lo":0.85,"hi":0.9,"n":439,"said":0.6971,"happened":0.3508,"ci95":[0.3076,0.3966]},{"bin":18,"lo":0.9,"hi":0.95,"n":236,"said":0.593,"happened":0.3559,"ci95":[0.2976,0.4189]},{"bin":19,"lo":0.95,"hi":1.0,"n":23,"said":0.593,"happened":0.5217,"ci95":[0.3296,0.7076]}],"reliability_down":[{"bin":0,"lo":0.0,"hi":0.05,"n":40,"said":0.4014,"happened":0.575,"ci95":[0.4219,0.7149]},{"bin":1,"lo":0.05,"hi":0.1,"n":332,"said":0.4014,"happened":0.6657,"ci95":[0.6133,0.7143]},{"bin":2,"lo":0.1,"hi":0.15,"n":441,"said":0.3018,"happened":0.6485,"ci95":[0.6029,0.6916]},{"bin":3,"lo":0.15,"hi":0.2,"n":635,"said":0.3333,"happened":0.6724,"ci95":[0.635,0.7078]},{"bin":4,"lo":0.2,"hi":0.25,"n":283,"said":0.3853,"happened":0.682,"ci95":[0.6256,0.7335]},{"bin":5,"lo":0.25,"hi":0.3,"n":429,"said":0.4591,"happened":0.655,"ci95":[0.6088,0.6984]},{"bin":6,"lo":0.3,"hi":0.35,"n":375,"said":0.4591,"happened":0.7627,"ci95":[0.7171,0.8029]},{"bin":7,"lo":0.35,"hi":0.4,"n":163,"said":0.4014,"happened":0.6871,"ci95":[0.6123,0.7533]},{"bin":8,"lo":0.4,"hi":0.45,"n":222,"said":0.4014,"happened":0.6216,"ci95":[0.5563,0.6828]},{"bin":9,"lo":0.45,"hi":0.5,"n":205,"said":0.4807,"happened":0.7317,"ci95":[0.6672,0.7877]},{"bin":10,"lo":0.5,"hi":0.55,"n":15,"said":0.4014,"happened":0.6,"ci95":[0.3575,0.8018]}],"brier":{"up_model":0.30065,"up_base":0.29224,"down_model":0.30105,"down_base":0.29464},"verdicts":{"pop":{"n":1047,"hits":363,"rate":0.3467,"ci95":[0.3185,0.376],"base_rate":0.3194,"gap":0.0273,"holds":false},"dump":{"n":429,"hits":281,"rate":0.655,"ci95":[0.6088,0.6984],"base_rate":0.6771,"gap":-0.0221,"holds":false},"no_edge":{"n":1664,"up_rate":0.2969,"down_rate":0.6977},"share_labelled":0.4701},"non_overlapping":{"n":157,"pop":{"n":13,"hits":0,"rate":0.0,"ci95":[0.0,0.2281],"base_rate":0.0446,"gap":-0.0446,"holds":false},"dump":{"n":21,"hits":18,"rate":0.8571,"ci95":[0.6536,0.9502],"base_rate":0.9427,"gap":-0.0855,"holds":false},"brier":{"up_model":0.31295,"up_base":0.34336}},"calibration_error_up":0.3043,"calibration_error_down":0.2956,"finding":"2w candles, 2025-01-06 to 2025-09-29, 3,140 held-out bars of 157 pairs: READY TO POP was given 1,047 times and the rise came first in 34.7% (all bars: 31.9%); READY TO DUMP 429 times, the fall first in 65.5% (all bars: 67.7%). The POP edge did NOT hold out of sample. The DUMP edge did NOT hold out of sample. Said-vs-happened gap across bins with 300+ cases: 30.4 points (up)."}},"1M":{"covered":false,"symbols":97,"target":{"up_pct":30.0,"down_pct":30.0,"window":12},"split":{"train":"bars whose outcome window ends before 2023-01-01","calibrate":"bars from 2023-01-01 whose window ends before 2024-07-01","test":"bars from 2024-07-01 on (held out: never used to fit a weight or a calibration)"},"reason":"too few bars: train 1919, calibrate 582, test 1552"}},"limits":["Survivorship: only pairs still listed on the fetch day; failed coins are missing, which flatters rises.","No costs: no fees, spread, slippage or funding; a probability of a price path, not a trade result.","Clustering: setups fire together in the same rallies and sell-offs, so the past cases are far fewer independent events than the counts suggest; the non-overlapping check thins them out.","Regimes: 2017-2020 (train), 2021-2022 (calibration) and 2023 on (test) each hold few market cycles; the short-history timeframes (1h, 4h, 2w, 1M) were built on 2021-2022, calibrated on 2023-2024 and tested on 2025 onward, fewer still.","Combinations searched: 54 setups x 7 timeframes x 2 sides in one additive model each, no grid; the structure geometry was written before the run.","Candles: measured on exchange candles; a DEX pool's candles (Gem Screener tokens) and any uploaded series were not measured, so no verdict is given for them: the page draws the structures and setups, shows the table's figures for reference and says why the label is withheld.","A probability from history, never a promise."],"weekly_signal_source":"https://cymetica.com/weekly-signal (pooled study: all assets together, chosen before 2022, checked once from 2022)","runtime_s":1040.5}