Commit Graph

239 Commits

Author SHA1 Message Date
Michael Handschuh ec8df2a87b Adds BasicTemplateOptionsAlgorithm 2016-04-07 14:12:53 -04:00
AlexCatarino 2963751e1c Add custom chart line colors and scatter plot symbols
Closes #95
Closes #266
2016-02-08 14:21:25 -05:00
Michael Handschuh 40d47d5523 Set c# language version to 5.0 2016-01-29 17:41:20 -05:00
Michael Handschuh 0cde677551 Adds CustomSecurityInitializerAlgorithm example
An ISecurityInitializer implementation will be run after calls to AddSecurity.
A custom implementation can be specified by calling SetSecurityInitializer(...).
The default implementation sets the fill/fee/slippage/settlement models based off the BrokerageModel.
2016-01-19 15:35:41 -05:00
Michael Handschuh ed3b98f4e1 Adds custom fee/fill/slippage model example 2016-01-18 19:22:07 -05:00
snugs a77950ce56 Adds UniverseDefinitions, DollarVolumeUniverseDefinitions 2015-12-17 17:17:56 -05:00
snugs a4074d2c85 Adds ParameterizedAlgorithm with regression test 2015-12-10 13:45:41 -05:00
snugs 4e107507e4 Adds EmaCrossUniverseSelectionAlgorithm 2015-12-09 16:36:14 -05:00
snugs 86498da772 Adds CoarseUniverseTop5DollarVolumeAlgorithm 2015-12-09 16:36:13 -05:00
snugs 0422a762d7 Adds dropbox universe selection example algorithms
Includes regression tests
2015-12-09 13:32:37 -05:00
snugs 826b865d7a Rename StockPickerAlgorithm to CustomDataUniverseAlgorithm 2015-12-09 13:32:35 -05:00
snugs 565c3bc6f7 Adds AddRemoveSecurityRegressionAlgorithm 2015-12-09 13:32:34 -05:00
QuantConnect 1350979f2f Merge remote-tracking branch 'origin/master' 2015-12-07 15:27:33 -05:00
snugs e08ed1c213 Add Benchmark algorithm with baseline time 2015-12-07 12:02:13 -05:00
snugs 4e5b65ed08 Adds EquitiesLabAlgorithm 2015-12-07 12:02:12 -05:00
snugs dd4125fb42 Adds UsersDefinedUniverseAlgorithm example 2015-12-07 12:02:10 -05:00
QuantConnect 74fb1805ad Added brokerage messaging handler example 2015-12-03 14:43:53 -05:00
snugs 359bcd2d86 Adds CustomDataRegressionAlgorithm 2015-12-03 13:48:14 -05:00
snugs 5d4aadbb9c Removes QuantConnect.Interfaces
This project was collapsed into QuantConnect.csproj.
This will allow code in the common project to use the interfaces abstractions
2015-11-04 13:18:59 -05:00
snugs 9b8110a6e3 Adds StockPicker example algo NYSE TopGainers 2015-10-21 13:05:18 -04:00
snugs 222a44f45b Adds OpeningBreakoutAlgorithm
This algorithm uses several new features to provide a strategy that can run live instantly with decent statistics
2015-09-28 13:28:10 -04:00
snugs 63ceefc4ed Initial implementation of algorithm warmup 2015-09-22 15:14:46 -04:00
snugs 4ae1f4f5b6 Finalizes History API
Fixes bug in backtest history provider

	Requests for bar counts were always incorrect because the history provider
	was emitting bars whose end time is equal to the start time.
	Implemented a FilterEnumerator<T> privately so he can filter those out
	when using non-tick data
2015-09-15 15:40:54 -04:00
snugs 5b29b8f230 Update IHistoryProvider to use request object 2015-09-15 15:40:52 -04:00
snugs c5a5ffa8c2 Adds universe selection regression algorithm
Uses the insanely mental GOOG,GOOGL,GOOCV,GOOAV case

Correctly starts with GOOG and adds GOOAV and GOOCV, later we can model the merge of GOOAV->GOOG pre GOOGL
2015-09-01 22:17:08 -04:00
snugs 3317d0b77a Adds OrderTicketDemoAlgorithm 2015-08-12 13:10:23 -04:00
snugs 730430b1bb Adds scheduling feature
Adds the ScheduleManager which allows an algorithm to add/remove scheduled events
Check out the ScheduledEventsAlgorithm for syntax
ScheduledEvents are at their core an IEnumerator<DateTime> that defines the event times coupled with a callback
IDateRule defines dates for events
ITimeRule defines time(s) on a given date for events
2015-08-10 10:56:14 -04:00
snugs 844a040be5 Initial impl of coarse universe selection
Adds concept of Subscription to contain everything a data feed needs in order to process  single data feed item
Moves preparation of all data to data feed thread, algo thread receives data in format it needs
QCAlgorithm.SetUniverse( func ) allows selection based on market/symbol/dollar volume/price
Remove laziness from Slice as optimization, no order by in real time handler
2015-08-06 17:52:23 -04:00
Ray Bohac 1b9c1b7921 Initial implementation of custom benchmarks 2015-08-05 15:30:34 -04:00
snugs 2c1a00fa23 Implements Delisting events in the algorithm
This change adds OnData(Delisting data) event handler to the algorithm and is fired when a security gets delisted.
Likewise, when a security is delisted, data will stop being sent into the algorithm and if the algorithm has any
holdings then a MarketOnClose order is submitted at midnight on the last day of trading. If you require that the
algorithm does not sell its shares, then you must cancel the MarketOnClose order before close of trading.
2015-07-29 13:21:25 -04:00
snugs 6bc9c5a7fb Fixes bug related to new time zone feature
RealTimeSynchronizedTimer now triggers based on UTC time
LiveTradingDataFeed used UTC time to add to bridge
Renamed Security.Time to Security.LocalTime to be explicit
Renamed SecurityExchange.Time to SecurityExchange.LocalTime to be explicit
2015-07-09 16:14:19 -04:00
snugs 704bfc2298 Adds new order ticket system
QCAlgorithm order functions now return an OrderTicket

OrderTicket can be used to directly update or cancel an order

Placing an order now submits an OrderRequest which is processed by the ITransactionHandler
2015-07-08 23:40:28 -04:00
snugs 6bd38ece77 Adds international/timezone support
Time sync:
	* Data feeds are required to time sync in UTC time
	* TimeSlice.Time is now in UTC

IAlgorithm
	* Time is now exclusively the algorithm's local time zone
	* Added UtcTime
	* SetDateTime( DateTime ) accepts a UTC time and is internally converted

SubscriptionDataConfig
	* Adds market and time zone as required ctor parameters

SecurityExchange
	* Now passes most calls directly through to SecurityExchangeHours class

SecurityExchangeHours
	* Holds market hours for each day of week (LocalMarketHours)
	* Talks in terms of local times in the SecurityExchangeHours.TimeZone time zone

Data/market-hours/
	* New data folder to hold market hour information
	* Includes market-hours-database.csv to hold market hours per market/symbol/security (see doc in file)
	* Includes holidays-usa.csv to hold holidays for 'usa' market
		+ The holiday files follow the pattern 'holidays-*.csv' where * is the market

TimeKeeper
	* Receives updates in UTC time
	* Passes that to LocalTimeKeeper's who lazily evaluate the time in their respective time zones
	* Eventually this can grow to be the sole source of time in the algorithm's scope

MISC:
	* Fixes exception thrown when exiting LiveTradingDataFeed
	* Fixes exception thrown when exiting FileSystemDataFeed
	* Fixes exception thrown when exiting StatusPing
	* Simplify FillForwardEnumerator logic with GetNextMarketOpen
	* Adds many time zones, see TimeZones.cs
2015-07-08 18:45:34 -04:00
snugs 15542c4efa Adds simple update order algorithm for regression tests 2015-07-06 17:59:42 -04:00
snugs 9c1b0f4616 Move order/order queue storage to transaction handler
Expose order and order processing ability via IOrderProvider/IOrderProcessor
2015-07-02 15:07:35 -04:00
snugs 9b6919e3b5 Adds regression test for limit fills 2015-07-01 21:20:17 -04:00
QuantConnect dd506279b7 Version bump Newtonsoft and MathNumerics, strip unnessary refs 2015-06-29 12:00:46 -04:00
snugs 805ac249e8 Adds a trade heavy regression algorithm 2015-06-24 15:56:10 -04:00
QuantConnect 55a6215da6 Split QCAlgorithm and Algorith,CSharp into separate projects, added FSharp project for algorithms 2015-06-17 17:44:02 -04:00