Commit Graph

12 Commits

Author SHA1 Message Date
Jack Simonson 0d791ec39a Update Unit Tests and Portfolio Statistics
Updated new unit tests to use TestFixtureSetUp and TestFixtureTearDown. Changed updated PortfolioStatistics to call methods from Statistics.
2020-03-27 10:41:52 -07:00
Jack Simonson 61432ffc29 Update Lean Statistics
Clean branch to update Tracking Error and Annual Performance statistics.
2020-03-26 16:54:59 -07:00
Martin Molinero 4439a070fa Address reviews
- Will use a deannualized sharpe ratio of 1 as benchmark
2019-10-21 20:21:26 -03:00
Martin Molinero 324556db62 Add ProbabilisticSharpeRatio
- Add `ProbabilisticSharpeRatio` to `PortfolioStatistics`
- `Probabilistic Sharpe Ratio` will be added to the `RunTimeStatistics`
sent by the `ResultHandlers`
- Making `TradeBuilder.ClosedTrades` thread safe since its accessed by
the `ResultHandlers`
- Removing `:` from live runtime statistics
- Adding unit tests
2019-10-21 15:54:42 -03:00
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