程序员的量化交易之路(33)--QuantConnect之案例1
来源:互联网 发布:网络平台合作协议书 编辑:程序博客网 时间:2024/05/16 01:51
转载需注明:http://blog.csdn.net/minimicall ,http://cloudtrade.top/
分析Cointrader有一定层度了,发现它毕竟不是一个产品,没有得到验证。在架构、编码等方面都非常的不规范。
想编写一个云交易平台,任道而重远。我们需要参照一些成熟的架构。
Quantopian的zipline不行,因为我就是看到它不行,所以才去分析Cointrader的。
现在这两个,一个压根就不是云平台,一个是不成熟,所以我只能去分析剩下的一个QuantConnect了。它的引擎是lean。
学习lean从学习使用开始,然后学习其架构、源码。然后设计我们的架构、平台。
我们首先来看一个例子。官方的最基本的案例。
代码如下:
namespace QuantConnect { /* * QuantConnect University: Full Basic Template: * * The underlying QCAlgorithm class is full of helper methods which enable you to use QuantConnect. * We have explained some of these here, but the full algorithm can be found at: * https://github.com/QuantConnect/QCAlgorithm/blob/master/QuantConnect.Algorithm/QCAlgorithm.cs */ public class BasicTemplateAlgorithm : QCAlgorithm { //Initialize the data and resolution you require for your strategy
public override void Initialize() { //Start and End Date range for the backtest: SetStartDate(2013, 1, 1); SetEndDate(DateTime.Now.Date.AddDays(-1)); //Cash allocation SetCash(25000); //Add as many securities as you like. All the data will be passed into the event handler: AddSecurity(SecurityType.Equity, "SPY", Resolution.Minute); } //Data Event Handler: New data arrives here. "TradeBars" type is a dictionary of strings so you can access it by symbol. public void OnData(TradeBars data) { // "TradeBars" object holds many "TradeBar" objects: it is a dictionary indexed by the symbol: // // e.g. data["MSFT"] data["GOOG"] if (!Portfolio.HoldStock) { int quantity = (int)Math.Floor(Portfolio.Cash / data["SPY"].Close); //Order function places trades: enter the string symbol and the quantity you want: Order("SPY", quantity); //Debug sends messages to the user console: "Time" is the algorithm time keeper object Debug("Purchased SPY on " + Time.ToShortDateString()); //You can also use log to send longer messages to a file. You are capped to 10kb //Log("This is a longer message send to log."); } } }}
0 0
- 程序员的量化交易之路(33)--QuantConnect之案例1
- 程序员的量化交易之路(1)----规划开篇
- 程序员的量化交易之路(13)--Cointrader类图(1)
- 程序员的量化交易之路(2)----Esper文档学习之技术概览(1)
- 程序员的量化交易之路(2)----Esper文档学习之技术概览(1)
- 程序员的量化交易之路(4)--Esper之事件(3)
- 程序员的量化交易之路(5)--Esper之Map事件(4)
- 程序员的量化交易之路(6)-Esper之处理模型(5)
- 程序员的量化交易之路(15)--Cointrader之EntityBase类(3)
- 程序员的量化交易之路(17)--Cointrader之Temporal实体(5)
- 程序员的量化交易之路(18)--Cointrader之Event实体(6)
- 程序员的量化交易之路(19)--Cointrader之Bar实体(7)
- 程序员的量化交易之路(20)--Cointrader之Assert实体(8)
- 程序员的量化交易之路(21)--Cointrader之Currency货币实体(9)
- 程序员的量化交易之路(24)--Cointrader之RemoteEvent远程事件实体(11)
- 程序员的量化交易之路(25)--Cointrader之MarketData市场数据实体(12)
- 程序员的量化交易之路(26)--Cointrader之Listing挂牌实体(13)
- 程序员的量化交易之路(27)--Cointrader之PriceData价格数据(14)
- UGUI 实现Button长按效果(RepeatButton)
- Swift 学习日记2
- Java.lang.StringBuilder类
- 黑马程序员——基础篇——关于字节流和字符流的区别
- Cocos2d-x 详解坐标系统
- 程序员的量化交易之路(33)--QuantConnect之案例1
- Eclipse上GIT插件EGIT使用手册
- Java设计模式——Mediator(中介者)模式
- 浅析volatile的用法
- K - The Hive
- dbcp和c3p0配置DBCPinitialSize
- oRbIt 的专栏 用天文方法计算二十四节气(上)
- Fibonacci数
- Java的一些父类(一)