注册

谈一谈期货程序化交易编程基础


来源: 七禾网

原标题:谈一谈期货程序化交易编程基础 期货程序化比较常见的交易软件有文华赢顺、交易开拓者、快期、金字

原标题:谈一谈期货程序化交易编程基础

期货程序化比较常见的交易软件有文华赢顺、交易开拓者、快期、金字塔等等,我们还可以自建一套交易系统,比如以python为工具,然后去对接交易所的CTP接口,实现从编写到回测到交易的完整流程。

软件选择主要看交易者的需求和编程开发能力,根据程序自身的特点,选择合适的程序化交易软件,这一点十分重要。

我们综合考虑了国内各家软件的优劣势,虽然文华赢顺语言简单,使用人数较多,交易开拓者相对而言是比较稳妥的选择,其函数和语言风格更加工整,功能较多,我们的大部分策略也都以这个平台为主。

交易开拓者TradeBlazer(以下简称TB)开发的语言系统是接近于理想编程环境的,它将大量的底层控制封装起来。用户只关心交易的逻辑,精力集中在交易方面,并且它的代码格式和结构类似C语言一般工整。这类软件的数据质量和程序准确度很高,部分机构也使用它作为开发平台,尽管实盘可能有自己的IT系统,但是开发策略阶段为保证效率和精力分配的侧重点,自有IT平台往往不如TB和MC之类的平台方便。

我们来看一段简单的交易模型:

// 首先定义参数

Params

Numeric FastLength(5);

Numeric SlowLength(20);

// 然后定义变量

Vars

NumericSeries AvgValue1;

NumericSeries AvgValue2;

// 模型语句开始

Begin

// 定义两条均线,并通过AverageFC求出均线值

AvgValue1 = AverageFC(Close,FastLength);

AvgValue2 = AverageFC(Close,SlowLength);

// 绘制两条均线

PlotNumeric("MA1",AvgValue1);

PlotNumeric("MA2",AvgValue2);

// 集合竞价和小节休息过滤

If(!CallAuctionFilter()) Return;

// 当目前模型没有持有多仓且短期均线上穿长期均线

If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])

{

// 买入开仓1手,在open价格

Buy(1,Open);

}

// 当目前模型没有持有空仓且短期均线下穿长期均线

If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])

{

// 卖出(做空)开仓1手,在open价格

SellShort(1,Open);

}

END

课程第二部分是条件和控制语句。

控制语句让模型可以在不同的情况下执行不同的操作,这是编程所必须的。其中算法中的条件结构是由条件语句来表达的,它是处理条件分支逻辑结构的算法语句。它一般的构成形式是IF-ELSE-ELSEIF格式:

更多内容,请观看视频教程《第3课:期货程序化交易编程基础》

作者介绍:濮元恺

2009年开始专注于程序化模型研究,随后经历股票多因子模型、商品期货时间序列模型等开发工作。


2016年加入中国量化投资学会专家委员会


随后作为励京投资管理(北京)有限公司创始团队,发行了多只阳光化私募基金产品。


2018年撰写的《量化投资 技术分析实战》图书获得众多业内人士推荐成为畅销书,帮助很多量化投资交易者走上了起步之路。

七禾网联合量化交易高手濮元恺先生制作和推出了15节量化学习的精品视频课程,同时在视频中详细地分享了9套量化交易策略源码,带您零基础学习量化交易!

相关链接:15节精品课、9套策略源码分享,带您零基础学量化!

责任编辑:傅旭鹏

推荐

为您推荐

已显示全部内容

泡泡直播

热门文章

泡泡直播

精彩视频

凤凰财经官方微信

X 泡泡直播

泡泡直播

凤凰新闻 天天有料
分享到: