Expectancy, drawdown a rizikové pomery
Expectancy
expectancy je očakávaný P&L priemerného uzavretého obchodu: miera výhier × priemerná výhra − miera prehier × priemerná strata, z hrubého P&L. Obchod bez zisku a straty nie je výhra ani prehra — len zriedi obe miery —, preto sa hodnota počíta priamo z realizovaných hrubých súčtov, (hrubý zisk − hrubá strata) / uzavreté obchody, bez zaokrúhlenej miery medzi tým:
$e = $analytics->expectancy;
$e->value; // '266.66' — (winRate * averageWin) - (lossRate * averageLoss)
$e->averageWin; // '550.00' — average gross profit of a winner
$e->averageLoss; // '300.00' — average gross loss of a loser, as a positive amount
$e->winRate; // '0.6666'
$e->lossRate; // '0.3333'
$e->winningTrades; // 2
$e->losingTrades; // 1
$e->breakEvenTrades; // 0 — closed at a P&L of exactly 0Pomer rizika a výnosu
riskRewardRatio delí priemernú výhru priemernou stratou v plnej presnosti a až výsledok oreže na 4 desatinné miesta; priemerná výhra a strata sa riadia škálou behu. Obchod bez zisku a straty priemernú stratu nezriedi. Kým neexistuje víťazný alebo stratový obchod, pomer zostáva 0.0000:
$rr = $analytics->riskRewardRatio;
$rr->value; // '1.8333' — averageWin / averageLoss
$rr->averageWin; // '550.00' — at the run's scale
$rr->averageLoss; // '300.00'Maximálny drawdown
maxDrawdown sleduje krivku kapitálu uzavretých obchodov v poradí podľa času zatvorenia — priebežný súčet čistého P&L od nuly — a zaznamená najväčší pokles od vrcholu. Percento sa vzťahuje na tento vrchol, delí sa v plnej presnosti a nastaví sa, až keď bol kapitál kladný:
$dd = $analytics->maxDrawdown;
$dd->value; // '306.00' — the largest drop from a peak
$dd->percentage; // '30.9090' — that drop as a percent of the peak
$dd->equity; // '781.00' — final equity: the sum of net realized P&L
$dd->peak; // '990.00' — the highest equity reachedSharpe a Sortino
riskAdjustedReturns vezme čistý výnos každého uzavretého obchodu (ako zlomok hodnoty pozície) a po prechode z neho odvodí priemer, populačnú smerodajnú odchýlku a odchýlku smerom nadol. Sharpe delí priemerný nadvýnos smerodajnou odchýlkou, Sortino odchýlkou smerom nadol. Oba sú pomery na obchod — neannualizované — s bezrizikovou sadzbou 0 a pri nulovej odchýlke zostávajú 0.0000:
$r = $analytics->riskAdjustedReturns;
$r->sharpeRatio; // '0.2271' — mean excess return / standard deviation
$r->sortinoRatio; // '0.3372' — mean excess return / downside deviation
$r->meanReturn; // '0.0099301075' — mean net return per trade, as a fraction
$r->standardDeviation; // '0.0437207547' — population standard deviation of the returns
$r->downsideDeviation; // '0.0294448637' — deviation of the returns below the risk-free rate
$r->riskFreeRate; // '0.0000000000'
$r->sampleSize; // 3 — one return per closed trade, folded into running sumsSéria výnosov sa neukladá: každý realizovaný výnos sa počas prechodu pripočíta k priebežným súčtom (počet, súčet, súčet štvorcov, súčet štvorcov poklesov pod sadzbu) a odchýlky sa z nich odvodia až potom — pamäť tak zostáva stála, nech je história akokoľvek dlhá.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.