Commit Graph

8 Commits

Author SHA1 Message Date
Martin Molinero 168fb98e20 Fix Turnover Ratio for Futures/CFDs
- `Futures` and `CFDs` sales value will use `ContractMultiplier` as the
rest of the securities.
- `FitnessScore` values will be truncated, not rounded, to 3 decimal places.
- Reducing code duplication for calculating the
`CompoundingAnnualPerformance`
2019-06-06 20:06:54 -03:00
Martin Molinero c015d4ca1f Add Fitness Score
- Adding new `FitnessScore`, score of the strategys performance, and
suitability for the Alpha Stream Market
2019-06-03 15:10:18 -03:00
Martin Molinero 412eccebc9 Address reviews
- Revert charting rouding
- Add statistics rouding
- Json converter will ignore null order values
- Remove `type` field in `Symbol` json
- Add default type value for the `TimeInForceJsonConverter`
2019-04-30 11:45:07 -03:00
Michael Handschuh 94bfaf115b Compute net profit even if no trades
In live mode it is very possible for a deployment to not have any closed
trades but still experience a profit (or loss) due to pre-existig holdings.

Additionally, this changes backtesting statistics for all backtests that did
not close a single position.
2017-11-07 15:13:20 -05:00
Stefano Raggi 84555a80ad Fix AlgorithmPerformance property setters for JSON deserialization
AlgorithmPerformance, PortfolioStatistics and TradeStatistics had private setters, so JSON deserialization could not populate their properties.
2017-06-26 17:21:48 +02:00
Michael Handschuh e9e6472dd0 Fixes number overflow in statistics generation 2016-03-31 20:00:45 -04:00
Stefano Raggi dfcdcf58cc Added check for division by zero in CompoundingAnnualPerformance 2015-10-24 23:41:24 +02:00
Stefano Raggi fac6f46a9a New Statistics implementation
Added Trade and TradeBuilder classes
Added UtcTime and OrderFee property to OrderEvent class
Added AlgorithmPerformance class with a few metrics + tests
Added portfolio statistics + rolling statistics

Closes #30 via PR #164

Thanks @SteffanoRaggi!
2015-09-16 20:48:02 -04:00