Commit Graph

256 Commits

Author SHA1 Message Date
snugs 7e2f362986 Stop timing algo manager loops at end of algorithm 2015-06-22 12:14:30 -04:00
snugs 0ef2be5bf8 Respect time from algo manager in live real time handler 2015-06-20 13:58:50 -04:00
snugs 4de2ec4070 Make Engine an instance
Updated all interfaces to accept dependencies via Initialize methods
2015-06-18 13:50:11 -04:00
snugs e07c4d02e2 Make DataStream an instance 2015-06-18 10:56:55 -04:00
snugs 0b169b6baf Make AlgorithmManager an instance 2015-06-18 10:44:51 -04:00
snugs e05e4fd08e Load data feed handlers via MEF configuration 2015-06-17 22:34:05 -04:00
QuantConnect 6b035d323c Converted Isolator to be an instance based class 2015-06-14 12:31:26 -04:00
QuantConnect fde0cbed3a Strip out block quote section header comments 2015-06-13 16:04:27 -04:00
snugs cf160b49de Some fixes from SubscriptionDataSource review 2015-06-11 22:27:42 -04:00
snugs 44a38f3e1d Updates LiveTradeDataFeed to allow custom data with remote files 2015-06-11 17:34:54 -04:00
Stefano Raggi 3fdf5f509b Processing speed improvement 2015-06-10 12:01:29 +02:00
snugs 887faa24e7 Adds support for hourly/daily data to LEAN engine 2015-06-02 21:44:44 -04:00
snugs 51f9b1dd6d Fixes bug in DataStream with ticks 2015-06-01 13:56:56 -04:00
snugs 6165c354e7 Initial implementation of TradierBrokerage
Adds new base test class for brokerages: BrokerageTests
2015-05-20 16:37:33 -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
snugs e1827fae31 Implements OnMarginCall and OnMarginCallWarning events
Also fixes bug in ConsoleResultHandler to process log/debug/error messages synchronously
2015-05-12 18:16:25 -04:00
snugs 790ce35c55 Adds 10 minute default time limit to each algo mgr loop
Overrideable with 'algorithm-manager-time-loop-maximum' configuration value in minutes
2015-05-12 18:16:23 -04:00
QuantConnect 2fc6725780 Fix algorithm status to only decrease algo state, not set it to running when algos are in an error state 2015-05-04 21:44:08 -04:00
snugs 95aaa58c9d Adds check in AlgoMgr for runtime errors 2015-05-04 15:06:48 -04:00
snugs 49b398f8ff DataStream sync by end of bar
Adds EndTime to BaseData
Adds Period to TradeBar
Now filling data forward on days missing files/data
Some performance enhancements
Removed sorted dictonary in DataStream/AlgorithmManager

We round down fill forward data in the data stream since if we were to perform this in the data feed we would continually produce data at the same time and it would all go into the algorithm at once.
2015-05-01 19:23:57 -04:00
snugs a136d1331e Fixes bug in backwards compatibility mode 2015-04-30 23:38:44 -04:00
snugs 580e908123 Update IB.GetAccountHoldings to include conversions 2015-04-30 13:55:38 -04:00
snugs 5e419ada8f Some bug fixes/cleanup for IB live trading 2015-04-29 12:54:13 -04:00
snugs d80b1733a9 Pre ib launch review 2015-04-24 19:12:16 -04:00
snugs 8b4fc176cb Tidy up Algo mgr loop 2015-04-24 13:38:45 -04:00
snugs 2a561ee8b4 Div/Split to use method invokers
Also now firing events using the data dictionaries
2015-04-24 12:29:18 -04:00
snugs 6fd357b710 Adds support for dividends and splits
Updates SubscriptionDataReader to use IStreamReader
Adds FactorFile and MapFile helpers
Adds support for Raw, Adjusted, and TotalReturn data normalization and portfolio application
2015-04-23 20:39:59 -04:00
snugs 3af7d5ed43 Adds firing of dividend events 2015-04-23 14:31:15 -04:00
snugs 504fef27c6 Add margin buffer in SecurityMarginModel.
Log errors to algorithm on executing margin call orders
Fixes bug in ConsoleResultHandler where we weren't respecting HandledErrorPackets
2015-04-14 11:17:33 -04:00
snugs de966c65dd Adds margin call msg to algo 2015-04-14 10:41:39 -04:00
snugs 1f15eb2c04 Initial implementation of Margin and Portfolio models
Changed system to use Margin Models, removing leverage wherever possible allowing for dynamic margin models.
Created first portfolio fill model for FOREX which treats it as a currency swap through the cashbook instead of a tradable asset.
Updated the Securities/SecurityPortfolioManager to use cashbook value + holdings removing FOREX virtual positions.
Created a new benchmark system for comparing quantconnect builds.
2015-04-13 20:51:43 -04:00
snugs 9924b0a872 Shares SubscriptionDataConfig in Security
Updates Securities.Update to take a slice of the 'newData' collection from AlgorithmManager to prevent an n^2 problem
This also has the affect that now all security prices are updated before ANY OnData events are fired (previously imported data could fire before these)
Adds the SubscriptionDataConfig to the Security object and requires it when adding new Securities in SecurityManager
Adds the SubscriptionIndex field to SubscriptionDataConfig, always handled by SubscriptionManager
2015-04-09 10:36:49 -04:00
snugs 11da95fed6 Adds IsCurrencyConversionFeed to subscription config
This prevents data feeds dynamically added just for currency conversions from being sent into the algo
2015-04-08 15:08:04 -04:00
snugs 13f1eae744 Wires up total portfolio value to respect currency holdings
When adding currencies force user to specify a conversion rate used to compute starting capital.
2015-04-08 14:47:10 -04:00
snugs c41a75ac2c Update currency conversion to use data dictionary instead of realtime prices 2015-04-08 14:47:09 -04:00
snugs b9798d7754 Initial impl of CashBook 2015-04-08 14:47:08 -04:00
QuantConnect adb5046ccd Removed stop watch from algorithm manager and moved to engine 2015-04-07 18:12:58 -04:00
snugs a559e91ab3 Computes DataPointsPerSecond in AlgoManager 2015-04-07 15:15:16 -04:00
Michael 335e64cdcb Revert "Fixed a few more warnings" 2015-04-07 13:53:33 -04:00
Adriano Marcondes Machado fb52f24de9 Removed trailing white spaces. 2015-04-07 12:27:12 -03:00
Adriano Marcondes Machado 52ca3875b5 Merge remote-tracking branch 'origin/master' into warnings
Conflicts:
	Brokerages/InteractiveBrokers/InteractiveBrokersBrokerage.cs
	Brokerages/InteractiveBrokers/InteractiveBrokersException.cs
	Common/Extensions.cs
	Common/Global.cs
	Engine/AlgorithmManager.cs
	Engine/Engine.cs
2015-04-07 11:23:08 -03:00
Adriano Marcondes Machado e8ad0d7912 Merge remote-tracking branch 'upstream/master' into warnings
Conflicts:
	Algorithm/Examples/TickDataFilteringAlgorithm.cs
	Algorithm/QCAlgorithm.Console.cs
	Algorithm/QCAlgorithm.Indicators.cs
	Algorithm/QCAlgorithm.Trading.cs
	Common/Data/Consolidators/TradeBarConsolidator.cs
	Common/Data/Custom/Quandl.cs
	Common/Data/DynamicData.cs
	Common/Data/SubscriptionDataConfig.cs
	Common/Extensions.cs
	Engine/DataFeeds/FileSystemDataFeed.cs
	Engine/Engine.cs
	Engine/Results/LiveTradingResultHandler.cs
	Engine/SubscriptionDataReader.cs
	Indicators/MeanAbsoluteDeviation.cs
	Logging/ConsoleLogHandler.cs
	Logging/ILogHandler.cs
	Logging/Log.cs
2015-04-07 11:17:53 -03:00
snugs 8a8f40f5ce Moved AlgorithmManager.RunTimeError to IAlgorithm 2015-04-06 15:31:12 -04:00
Adriano Marcondes Machado 249b974b0b More white space cleaning 2015-03-12 17:48:20 -03:00
Adriano Marcondes Machado 7ca866c5e3 Removing empty spaces from line ends. 2015-03-12 16:54:02 -03:00
QuantConnect 88cd0e2a34 Added try-catch around consolidator updating to pass error back to IDE 2015-03-12 13:18:16 -05:00
QuantConnect defee6a5fe Move result synchronous events processing into main time loop to prevent short data files not processing 2015-03-08 21:36:26 -03:00
QuantConnect 928ac944a9 Shuffle realtime.SetTime into backtest only behaviour. Live Realtime will set its own time based on reality 2015-02-25 15:44:45 -03:00
Jared Broad 83fdd6a6f3 Removed unused method 2015-02-12 17:51:07 -03:00
Jared Broad 22be8a9871 Whitespace and tidy comments 2015-02-12 16:06:31 -03:00