Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

Algorithmic trading: Regularized Characteristic Portfolio sa Siyam na US Sector ETF

Resulta: Inabandona

RegularizedSectorCharacteristicPortfolio

Buod ng Resulta

Sinubukan ng strategy ang regularized characteristic portfolio sa siyam na US sector ETF, na nire-rebalance buwan-buwan gamit ang mga coefficient na hindi binabago. Pagkaraan ng tatlong iteration, natukoy sa Layer 4 QA ang mga protective stop na unang partial fill lang ang nasasaklaw, at ang hindi pagtutugma ng modeled holdings at stop-driven execution. Iniwan ito habang bine-verify, kaya walang available na backtest metric o resulta ng optimization.

Hypothesis

Mula sa Lamoureux at Zhang, inihango ng Research Lead ang pagsubok kung mapapahusay ng pagtaas ng curvature ng power utility ang kasunod na performance ng portfolio kapag tinatantiya ang mga timbang ng portfolio batay sa mga katangian. Gumamit ng araw-araw na USEQ bar, pinagsama-sama bilang buwanang obserbasyon, para sa siyam na matatag nang sector ETF. Isinasagawa rito ang mekanismo ng pagpili ng portfolio sa papel; hindi ito muling pagsasagawa ng eksperimento nito sa CRSP/Compustat. Panatilihin ang 12-buwang……Magpakita ng higit paMagpakita ng mas kaunti

Mula sa Lamoureux at Zhang, inihango ng Research Lead ang pagsubok kung mapapahusay ng pagtaas ng curvature ng power utility ang kasunod na performance ng portfolio kapag tinatantiya ang mga timbang ng portfolio batay sa mga katangian. Gumamit ng araw-araw na USEQ bar, pinagsama-sama bilang buwanang obserbasyon, para sa siyam na matatag nang sector ETF. Isinasagawa rito ang mekanismo ng pagpili ng portfolio sa papel; hindi ito muling pagsasagawa ng eksperimento nito sa CRSP/Compustat. Panatilihin ang 12-buwang momentum na hindi kasama ang pinakahuling buwan, at ang 60-buwang residual volatility ng market model. Alisin ang laki at book-to-market dahil walang makukuhang makasaysayang capitalization at accounting input; walang papalit na proxy na batay sa presyo. Pumili ng equal-weight benchmark, SPY bilang sanggunian ng market model, limitadong exposure, at mas maikling sample para sa estimation. I-fit ang mga coefficient gamit lamang ang kasaysayan sa warm-up bago ang evaluation period, at panatilihing hindi nagbabago ang mga ito sa bawat evaluation window. Isagawa ang buwanang rebalance sa pagsasara ng natapos na session; hindi kailangan ang execution sa bukas ng susunod na session. Nasa ibinigay na buong teksto ang algorithm, kaya hindi lamang abstract ang batayan ng mungkahing ito.

Tungkol sa pagbuo ng equity portfolio ang pinagkunan, kaya panatilihin ang equity venue sa halip na ilipat sa crypto ang mga katangian ng stock. Tinutugunan ng siyam na traded leg ang sobrang pagtuon sa mga eksperimento sa iisang instrumento. Pinahihintulutan ng mga signed characteristic tilt ang short position at tinutugunan ang konsentrasyon ng long-only na portfolio. Walang konsentrasyon sa corpus, kaya hindi matitiyak ang kamakailang bahagi ng bawat instrumento. Sinusubok ng eksperimentong ito ang regularization ng mga timbang na tinatantiya nang magkakasama, sa halip na isa pang indicator entry o signal ng pagbabalik ng spread. Hindi maisasagawa ang eksaktong muling pagbuo ng makasaysayang universe; ibang eksperimento na may tahasang limitasyon ang tinutukoy ng nakapirming ETF universe.

verification_loop: Bigo ang verification (Layer 4 — pagsusuri ng QA) [class=code_defect]: - [kritikal] Hindi sinusubaybayan ng mga protective stop ang mga partial fill sa pagpasok. Gumagawa ang unang fill ng stop para sa dami ng posisyon sa sandaling iyon. Sa mga kasunod na fill, agad na bumabalik ang umiiral na reduce-only order kaya hindi napoprotektahan ang mga karagdagang share. Halimbawa, kung ang entry na 100 share ay mapunan ng 40 at saka 60 share, mananatili ang stop para lamang sa 40 share. Kaya hindi……Magpakita ng higit paMagpakita ng mas kaunti

verification_loop: Bigo ang verification (Layer 4 — pagsusuri ng QA) [class=code_defect]: - [kritikal] Hindi sinusubaybayan ng mga protective stop ang mga partial fill sa pagpasok. Gumagawa ang unang fill ng stop para sa dami ng posisyon sa sandaling iyon. Sa mga kasunod na fill, agad na bumabalik ang umiiral na reduce-only order kaya hindi napoprotektahan ang mga karagdagang share. Halimbawa, kung ang entry na 100 share ay mapunan ng 40 at saka 60 share, mananatili ang stop para lamang sa 40 share. Kaya hindi napoprotektahan ng itinakdang 10% stop ang buong posisyon. (linya 277) — ayusin: Subaybayan ang protective stop ng bawat leg at i-update ang dami at trigger price nito pagkatapos ng bawat entry fill gamit ang kasalukuyang dami ng posisyon at average entry price. Hiwalay na pangasiwaan ang mga partial fill ng stop para manatiling protektado ang natitirang posisyon. - [babala] Ipinapalagay ng layunin sa pag-fit ng coefficient na tuloy-tuloy ang holdings bawat buwan, samantalang nililiquidate ng execution ang isang leg kapag na-trigger ang intrabar stop nitong 10%, at iniiwan itong walang posisyon hanggang sa susunod na buwanang rebalance. Kaya ibang landas ng return ang inilalarawan ng training utility kumpara sa aktuwal na na-execute na portfolio. (linya 161) — ayusin: Isama sa pagkalkula ng return para sa pag-fit ang nakarehistrong stop policy, o tahasang idokumento ang pagtatayang ito kapag binibigyang-kahulugan ang paghahambing ng curvature.

Implementasyon

Buwanang portfolio ng sektor na ETF na may magkakasamang tinantiyang momentum at residual-volatility tilt, mas mataas na curvature ng power utility, mga coefficient bago ang window na hindi binabago, limitadong timbang, at magkakahiwalay na posisyong may protective stop.

Pinakamaliit na pagbabago sa iteration: kapag walang evaluation boundary, maaari na ngayong magmasid at magsama-sama ng buwanang data nang walang pag-fit o trading, kaya nalutas ang naiulat na exception sa synthetic scenario. Kapag may ibinigay na boundary, nagaganap pa rin ang pag-fit bago maisama sa training ang unang obserbasyon sa evaluation, at may error pa rin kung kulang ang kasaysayan bago ang window. Napanatili ang mga import, characteristic, solver, sizing, alignment, at execution. Kailangang ibigay ng evaluation runner ang _no_entries_before_ns at ang nakarehistrong warm-up. Iniwan sa pipeline ang verification. Hindi naisulat ang hiniling na outbox file dahil read-only ang mga pahintulot ng filesystem sa session na ito; narito ang buong task-bound JSON.

Mga Resulta ng Beripikasyon

Bigo ang verification (Layer 4 — pagsusuri ng QA) [class=code_defect]: - [kritikal] Hindi sinusubaybayan ng mga protective stop ang mga partial fill sa pagpasok. Gumagawa ang unang fill ng stop para sa dami ng posisyon sa sandaling iyon. Sa mga kasunod na fill, agad na bumabalik ang umiiral na reduce-only order kaya hindi napoprotektahan ang mga karagdagang share. Halimbawa, kung ang entry na 100 share ay mapunan ng 40 at saka 60 share, mananatili ang stop para lamang sa 40 share. Kaya hindi napoprotektahan ng……Magpakita ng higit paMagpakita ng mas kaunti

Bigo ang verification (Layer 4 — pagsusuri ng QA) [class=code_defect]: - [kritikal] Hindi sinusubaybayan ng mga protective stop ang mga partial fill sa pagpasok. Gumagawa ang unang fill ng stop para sa dami ng posisyon sa sandaling iyon. Sa mga kasunod na fill, agad na bumabalik ang umiiral na reduce-only order kaya hindi napoprotektahan ang mga karagdagang share. Halimbawa, kung ang entry na 100 share ay mapunan ng 40 at saka 60 share, mananatili ang stop para lamang sa 40 share. Kaya hindi napoprotektahan ng itinakdang 10% stop ang buong posisyon. (linya 277) — ayusin: Subaybayan ang protective stop ng bawat leg at i-update ang dami at trigger price nito pagkatapos ng bawat entry fill gamit ang kasalukuyang dami ng posisyon at average entry price. Hiwalay na pangasiwaan ang mga partial fill ng stop para manatiling protektado ang natitirang posisyon. - [babala] Ipinapalagay ng layunin sa pag-fit ng coefficient na tuloy-tuloy ang holdings bawat buwan, samantalang nililiquidate ng execution ang isang leg kapag na-trigger ang intrabar stop nitong 10%, at iniiwan itong walang posisyon hanggang sa susunod na buwanang rebalance. Kaya ibang landas ng return ang inilalarawan ng training utility kumpara sa aktuwal na na-execute na portfolio. (linya 161) — ayusin: Isama sa pagkalkula ng return para sa pag-fit ang nakarehistrong stop policy, o tahasang idokumento ang pagtatayang ito kapag binibigyang-kahulugan ang paghahambing ng curvature.

Subaybayan ang protective stop ng bawat leg at i-update ang dami at trigger price nito pagkatapos ng bawat entry fill gamit ang kasalukuyang dami ng posisyon at average entry price. Hiwalay na pangasiwaan ang mga partial fill ng stop para manatiling protektado ang natitirang posisyon.

Hindi sinusubaybayan ng mga protective stop ang mga partial fill sa pagpasok. Gumagawa ang unang fill ng stop para sa dami ng posisyon sa sandaling iyon. Sa mga kasunod na fill, agad na bumabalik ang umiiral na reduce-only order kaya hindi napoprotektahan ang mga karagdagang share. Halimbawa, kung ang entry na 100 share ay mapunan ng 40 at saka 60 share, mananatili ang stop para lamang sa 40 share. Kaya hindi napoprotektahan ng itinakdang 10% stop ang buong posisyon.

Isama sa pagkalkula ng return para sa pag-fit ang nakarehistrong stop policy, o tahasang idokumento ang pagtatayang ito kapag binibigyang-kahulugan ang paghahambing ng curvature.

Ipinapalagay ng layunin sa pag-fit ng coefficient na tuloy-tuloy ang holdings bawat buwan, samantalang nililiquidate ng execution ang isang leg kapag na-trigger ang intrabar stop nitong 10%, at iniiwan itong walang posisyon hanggang sa susunod na buwanang rebalance. Kaya ibang landas ng return ang inilalarawan ng training utility kumpara sa aktuwal na na-execute na portfolio.

Kasaysayan ng Iterasyon

Bigo ang verification (Layer 1 — static analysis): - Ipinagbabawal na import: src.data.market_calendar — mga framework base at helper lamang ang maaaring i-import ng mga strategy (src.strategies.base_template, src.strategies.rolling_options_template, src.strategies.polymarket_series_template, src.strategies.helpers); nasa labas ng sandbox ang mga collector, database, backtest engine at registry. (linya 10)

Bigo ang verification (Layer 2 — synthetic scenario): Mga ginamit na parameter: ['fit_months', 'net_weight', 'bar_interval', 'sector_names', 'stop_loss_pct', 'investor_gamma', 'max_abs_weight', 'momentum_months', 'benchmark_weight', 'market_reference', 'max_gross_weight', 'rebalance_months', 'solver_tolerance', '_optimization_plan', 'curvature_increment', 'residual_vol_months', 'momentum_skip_months', 'risk_per_position_pct', 'solver_max_iterations', 'coefficient_update_policy', 'coefficient_initialization',……Magpakita ng higit paMagpakita ng mas kaunti

Bigo ang verification (Layer 2 — synthetic scenario): Mga ginamit na parameter: ['fit_months', 'net_weight', 'bar_interval', 'sector_names', 'stop_loss_pct', 'investor_gamma', 'max_abs_weight', 'momentum_months', 'benchmark_weight', 'market_reference', 'max_gross_weight', 'rebalance_months', 'solver_tolerance', '_optimization_plan', 'curvature_increment', 'residual_vol_months', 'momentum_skip_months', 'risk_per_position_pct', 'solver_max_iterations', 'coefficient_update_policy', 'coefficient_initialization', 'fit_cost_per_dollar_traded'] Tiyaking itinatalaga ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: ValueError: evaluation_boundary_required: kailangang ibigay ang nakarehistrong frozen warm-up (timestamp ng bar: 1735689600000) - steady_downtrend: ValueError: evaluation_boundary_required: kailangang ibigay ang nakarehistrong frozen warm-up (timestamp ng bar: 1735689600000) - flat_ranging: ValueError: evaluation_boundary_required: kailangang ibigay ang nakarehistrong frozen warm-up (timestamp ng bar: 1735689600000) - volatility_spike: ValueError: evaluation_boundary_required: kailangang ibigay ang nakarehistrong frozen warm-up (timestamp ng bar: 1735689600000) - zero_volume: ValueError: evaluation_boundary_required: kailangang ibigay ang nakarehistrong frozen warm-up (timestamp ng bar: 1735689600000) - price_gap: ValueError: evaluation_boundary_required: kailangang ibigay ang nakarehistrong frozen warm-up (timestamp ng bar: 1735689600000)

Buod ng Resulta

I-update ang mga protective stop pagkatapos ng bawat entry fill at itugma ang layunin sa pag-fit sa isinagawang stop policy, o tahasang idokumento ang pagtataya.

Pagkaraan ng tatlong iteration, iniwan ang strategy matapos mabigo sa Layer 4 QA dahil hindi lumawak ang mga protective stop pagkatapos ng mga karagdagang partial fill sa pagpasok, kaya may mga share na hindi naprotektahan. Nagbabala rin ang QA na ipinapalagay ng layunin sa pag-fit na tuloy-tuloy ang holdings, samantalang maaaring ma-stop out ang mga posisyon habang naghihintay sa susunod na buwanang rebalance.

Sinusuri kung napapahusay ng mas mataas na kurbada ng power utility ang buwanang portfolio ng siyam na US sector ETF gamit ang mga katangian ng momentum at residual volatility; tinantiya ang mga coefficient mula sa kasaysayan sa warm-up at pinanatiling hindi nagbabago habang sinusuri.

Walang available na backtest metric, at hindi naisagawa ang optimization at mga sumunod na pagsusuri.

Dahilan ng Pag-abandona

verification_loop: Bigo ang verification (Layer 4 — pagsusuri ng QA) [class=code_defect]: - [kritikal] Hindi sinusubaybayan ng mga protective stop ang mga partial fill sa pagpasok. Gumagawa ang unang fill ng stop para sa dami ng posisyon sa sandaling iyon. Sa mga kasunod na fill, agad na bumabalik ang umiiral na reduce-only order kaya hindi napoprotektahan ang mga karagdagang share. Halimbawa, kung ang entry na 100 share ay mapunan ng 40 at saka 60 share, mananatili ang stop para lamang sa 40 share. Kaya hindi……Magpakita ng higit paMagpakita ng mas kaunti

verification_loop: Bigo ang verification (Layer 4 — pagsusuri ng QA) [class=code_defect]: - [kritikal] Hindi sinusubaybayan ng mga protective stop ang mga partial fill sa pagpasok. Gumagawa ang unang fill ng stop para sa dami ng posisyon sa sandaling iyon. Sa mga kasunod na fill, agad na bumabalik ang umiiral na reduce-only order kaya hindi napoprotektahan ang mga karagdagang share. Halimbawa, kung ang entry na 100 share ay mapunan ng 40 at saka 60 share, mananatili ang stop para lamang sa 40 share. Kaya hindi napoprotektahan ng itinakdang 10% stop ang buong posisyon. (linya 277) — ayusin: Subaybayan ang protective stop ng bawat leg at i-update ang dami at trigger price nito pagkatapos ng bawat entry fill gamit ang kasalukuyang dami ng posisyon at average entry price. Hiwalay na pangasiwaan ang mga partial fill ng stop para manatiling protektado ang natitirang posisyon. - [babala] Ipinapalagay ng layunin sa pag-fit ng coefficient na tuloy-tuloy ang holdings bawat buwan, samantalang nililiquidate ng execution ang isang leg kapag na-trigger ang intrabar stop nitong 10%, at iniiwan itong walang posisyon hanggang sa susunod na buwanang rebalance. Kaya ibang landas ng return ang inilalarawan ng training utility kumpara sa aktuwal na na-execute na portfolio. (linya 161) — ayusin: Isama sa pagkalkula ng return para sa pag-fit ang nakarehistrong stop policy, o tahasang idokumento ang pagtatayang ito kapag binibigyang-kahulugan ang paghahambing ng curvature.

Pagsusuri

Isang Empirikong Pagtatasa sa mga Katangian at Pinakamainam na Portfolio

Ang Stratmill ay isang tool para sa pananaliksik at paper trading, hindi payo sa pananalapi o isang broker. Ang mga resulta ng backtest at paper trading ay hypothetical. May panganib ng pagkalugi ang pangangalakal.