Commit Graph

29 Commits

Author SHA1 Message Date
Martin Molinero c58b479578 Reduce shutdown time 2019-06-14 16:05:45 -03:00
Michael Handschuh 87d18b609d Improve process for updating regression statistics
Can now simply flip a flag in the code at the top of Messaging.cs or
specify via configuration 'regression-update-statistics' and it will
automatically update the code statistics using the statistics from
the current run. Useful when updating factor files and need to update
all statistics :P
2018-06-07 11:43:56 -04:00
Michael Handschuh 6b239674e2 Renames Alpha -> Insight
The term 'alpha' is used to describe the entire algorithm. Therefore, 'alpha'
produces insights. From this we have things like IAlphaModel, which is the model
defining how insights are produced. We have IAlphaHandler, which defines how the
insights from a single 'alpha' (the algorithm) are managed, analyzed, and stored.
Types closer to the individual prediction level, such as InsightDirection, or
InsightScore relate directly to exactly 1 insight. The distinction between the
two became more clear as we developed the insights API, and from that effort it
was decided to harmonize alpha/insight terminology across the various QC systems.
2018-03-09 16:12:56 -05:00
Michael Handschuh 69d3a10a93 Decompose DefaultAlphaHandler into IAlphaManagerExtension
The IAlphaManagerExtension defines a type that needs to react to events produced
by the AlphaManager. The actual events were removed in favor of a interface to
handle the events. This removes the need to wire events and instead just pass the
extensions to the alph manager and it will handle invoking the extensions at the
appropriate time.

This change removes all charting and statistics aggregation logic from the alpha
handler and moves it into dedicated types, AlphaChartingManagerExtension and
AlphaStatisticsManagerExtension. The resulting types are highly decoupled from the
LEAN ecosystem allowing them to be easily unit tested, whereas before the logic
was embedded in a handler with many many dependencies which would be very hard to
properly unit test.

As part of this change (and in preparation for moving scoring to the alpha thread)
the resolution of SecurityValues was removed from the alpha manager. In this new
pattern, the alpha manager is pushed generated alphas and security values at each
time step.
2018-01-12 12:08:40 -05:00
Michael Handschuh d38323b98c Add alpha statistics regression test functionality
When the algorithm finishes, the alpha statistics are merged with the backtest
result statistics. This keeps the regression testing pattern of alpha statistics
the same as the existing regular statistics.
2018-01-12 12:08:40 -05:00
Michael Handschuh 363003815b Rename AlphaPacket -> AlphaResultPacket
Making room for the AlphaWorkPacket
2018-01-04 12:43:41 -05:00
Michael Handschuh b4b3aae112 Rename Signal -> Alpha
Whoa... I think I got everything :)
2017-12-15 18:24:58 -05:00
Michael Handschuh 5910bc620f Add ISignalHandler
Handles signals generated by the algorithm. The default implementation
sends a SignalPacket to the messaging handler.
2017-12-12 08:56:19 -05:00
Andrew 27fd860be1 Added processing of SystemDebug messages 2017-02-27 15:02:49 -05:00
Michael Handschuh 28274f485b Adds BasicTemplateOptionsAlgorithm regression 2016-04-07 14:18:20 -04:00
Michael Handschuh 80c28b8e13 Make streaming enabled flag public 2016-01-20 18:19:26 -05:00
Michael Handschuh 97354e2170 Adds StreamingApi.Transmit
This will be used to enable sending packets to qc servers for processing and will enable the desktop charting feature in LEAN.
2016-01-20 14:38:11 -05:00
Michael Handschuh cf6b4aa57d Use BacktestingResultHandler instead of ConsoleResultHandler 2016-01-20 14:05:41 -05:00
Michael Handschuh 04c7442958 Improve default messaging impl
This is in preparation for removing the ConsoleResultHandler
2016-01-20 13:27:17 -05:00
Michael Handschuh 6f0686b1b4 Add generic IMessagingHandler.SendNotification 2016-01-20 01:01:58 -05:00
Michael Handschuh 1f3cf8ae55 Change IMessagingHandler.SetChannel to SetAuthentication
Now accepts a full job packet for user id/algo id/channel info
2016-01-20 00:29:32 -05:00
Michael Handschuh fa55e8d059 Remove IMessagingHandler.LiveTradingResult 2016-01-20 00:07:55 -05:00
Michael Handschuh 6180ff69e0 Remove IMessagingHandler.BacktestResult 2016-01-19 23:59:25 -05:00
Michael Handschuh 86639512cd Remove IMessagingHandler.AlgorithmStatus 2016-01-19 23:50:53 -05:00
Michael Handschuh a6eceb4faa Remove IMessagingHandler.RuntimeError 2016-01-19 22:26:46 -05:00
Michael Handschuh d54a8c1844 Remove IMessagingHandler.LogMessage 2016-01-19 22:18:32 -05:00
Michael Handschuh 554b5c5068 Remove IMessagingHandler.SecurityTypes 2016-01-19 22:07:46 -05:00
Michael Handschuh ff75836fd9 Remove IMessagingHandler.DebugMessage 2016-01-19 22:04:13 -05:00
snugs 2a10112abe Adds ProjectId to AlgorithmStatusPacket 2016-01-11 15:07:20 -05:00
snugs 9ec0aa3ba3 Add ChannelStatus to algo status packet 2015-08-13 18:25:18 -04:00
QuantConnect fde0cbed3a Strip out block quote section header comments 2015-06-13 16:04:27 -04:00
snugs 89b6e98af8 Fixes warnings mostly relating to xml comments
Also cleans up some block comments

Via PR#72 - thanks @ammachado!
2015-05-13 10:56:47 -04:00
Jared Broad f0d2838958 Added additional messaging interfaces for web, phone and email notifications 2015-02-07 18:03:31 -03:00
Jared Broad b3de520915 Initial commit 2015-01-12 12:03:33 -03:00