Všetky balíky
Trading Analytics for Laravel
P&L a ROI jedného obchodu
Každý Trade si vypočíta vlastné hodnoty — tie isté, ktoré engine agreguje. Každé číslo sa vracia ako NumericValueAsString; komentáre ukazujú jeho reťazcovú podobu:
$trade = Trade::make(
baseCurrency: 'BTC',
quoteCurrency: 'USD',
openPrice: '40000',
closePrice: '42000',
size: '0.5',
direction: 'buy',
openTime: '2024-03-01 09:00',
commission: '10',
closeTime: '2024-03-01 15:00',
);
$trade->pair(); // 'BTC/USD'
$trade->isRealized(); // true — it has a close time
$trade->isOpen(); // false
$trade->profitAndLoss(); // '1000.0000000000' — gross
$trade->profitAndLoss(subtractCommissions: true); // '990.0000000000' — net
$trade->roi(); // '5.00' — percent, 2 decimals
$trade->roi(subtractCommissions: true); // '4.95'
$trade->roi(asPercentage: false); // '0.0500000000' — a fraction- P&L nákupu je (výstupná cena − vstupná cena) × veľkosť; pri predaji (vstupná cena − výstupná cena) × veľkosť.
- subtractCommissions: true odpočíta poplatok obchodu, ak ho má.
- ROI delí P&L hodnotou pozície (vstupná cena × veľkosť). Predvolene je to percento zaokrúhlené na 2 desatinné miesta; asPercentage: false vráti surový zlomok.
Ako pole
toArray() obsahuje stavové príznaky a obe varianty P&L aj ROI:
$trade->toArray();
// [
// 'base_currency' => 'BTC',
// 'quote_currency' => 'USD',
// 'open_price' => '40000.0000000000',
// 'close_price' => '42000.0000000000',
// 'size' => '0.5000000000',
// 'direction' => 'buy',
// 'open_time' => '2024-03-01 09:00:00',
// 'close_time' => '2024-03-01 15:00:00',
// 'commission' => '10.0000000000',
// 'is_realized' => true,
// 'is_open' => false,
// 'pnl' => ['gross' => '1000.0000000000', 'net' => '990.0000000000'],
// 'roi' => ['gross' => '5.00', 'net' => '4.95'],
// ]Trade implementuje aj Jsonable a JsonSerializable, takže toJson() aj json_encode() vrátia rovnaké dáta.
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.