《交易开拓者交易应用》由会员分享,可在线阅读,更多相关《交易开拓者交易应用(71页珍藏版)》请在金锄头文库上搜索。
1、1TB平台程序化交易应用内容安排 交易开拓者()软件介绍 程序化交易平台应用详解 模型的创建、测试和应用(演示) 监控器的使用 公式入门要点和模型示例23产品简介交易开拓者(简称TB)是针对期货(商品、外汇、股指)设计的分析及交易 的平台软件,是期货行情、多功能下单、系统化交易的完美结合;吸取国外多个领先金融交易软件(TradeStation、Wealth Lab 、 MetaStock、MetaTrader)的优点;以交易为核心,所有的功能都是围绕交易而开发;专业的系统化交易平台用户可使用TB平台的TBL语言编写交易模型, 通过测试检验,和参数优化等流程,模型确定后可通过TB平台实现系统 化
2、自动交易。提供不同层次的版本满足客户的差异化需求。在由期货日报与证券时报合办的“第四届中国最佳期货经营机构评选暨最佳期 货分析师评选”活动中,交易开拓者荣获“中国最佳期货软件服务商”奖项。交易开拓者的产品系列平台版 (V4.2.1)交易需经过TB平台(行情和交易服务器)旗舰版(包含专业版所有功能,全面支持程序化交易)专业版 (部分功能,只支持单一交易品种程序化交易)终端版 (CTP版)除不支持程序化交易外,其他功能基本齐全5交易开拓者的用户群与对应功能普通交易者-交易师、触发单、策略易短线快速交易者-快车道、一键下单、快速平仓、程序化交易价差交易者-价差下单、套利宝、程序化交易多账户交易者-批
3、量下单、批量触发、一键全平程序化交易者-交易模型编写平台、测试平台、优化平台机构交易者-程序化多帐户自动交易(投资组合)、算法交易TB平台的特色 行情、交易速度快 特有的Tick数据 便捷的行情报价组合 支持商品叠加分析、价差指标 易于分析和历史测试的指数数据 便捷的下单、平仓、撤单功能 强大的程序化交易功能6易于分析的指数数据7方便快捷的下单及辅助工具 灵活方便的下单方式:n交易师n交易快车道n批量下单、批量触发单n价差下单 便捷的平仓方式:n一键平仓、一键全平、比例平仓 快捷的撤单方式:快速撤单、一键全撤 交易助手:解决委托不成交的问题89交易师10触发单交易快车道安全锁一键下单自动开平判
4、断平仓反手一键撤单自动生成止赢单配合交易助手生成止损单1112交易快车道之安全锁批量下单之交易头寸13一键全撤14一键全平15交易助手16傻瓜式自动化交易工具 套利宝n 支持跨期、跨品种、跨市场套利n 支持蝶式套利n 提供价差和蝶式价差分析指标 策略易n 参数化的程序化交易模块n 可实现简单的价位突破系统、指标交叉系统n 可实现止盈、止损、追踪止损等风险控制n 简单的算法交易和定时平仓1718套利宝和价差指标价差下单手工开平进行价差 的开平下单,动态 价差曲线直观清晰 ;跨月换仓方便实用 ;1920策略易21多账户管理TB程序化交易平台的特点V4公式平台运行效率大幅提高,支持多线程应用;TBL
5、(TradeBlazer Language)语言功能强大、语法简明易懂;TB的公式执行机制是在每根BAR上都会执行一遍公式,能实现公式和算法 的精确控制;具有结构化的控制语句,支持复合语句IF语句和FOR,WHILE语句;提供了丰富的系统函数,支持用户函数,便于实现程序的模块化设计;提供A函数、Q函数等,可实时获取当前交易账户的账户信息,并能对叠加 商品进行发单和撤单,便于实现头寸调整、风险控制、资金管理以及套利 交易的程序化;支持单图表叠加多个商品的交易和测试;技术指标源代码公开,便于指标算法的改进;强大的图表化、多维度的交易模型测试分析报告及参数优化功能,可实现 多品种、多策略、多图表周期
6、的组合测试,提供了丰富的、和实战密切相 关的系统评估指标;支持交易模型的导入导出,支持交易模型的加密和无源码模式导出,便于 模型研发后的商业应用;22TB程序化交易应用详解23TB公式的概念和基本使用公式类型用户函数、公式应用(技术指标和交易指令)公式的创建、属性设置和编译主图、子图,线型,加密公式的加载、设置和启用 测试样本,保证金比率,佣金,虚拟账户的设置公式导入和导出工作室、工作区、图表三层架构24编译公式262728TB V4.2 强大的测试工具投资组合性能测试报告 单品种、单系统测试 单品种、多系统测试 多品种、多系统测试多图表组合测试报告 多品种、多系统、多周期测试 系统交易安全锁
7、 测试结果的保存和导入交易策略参数优化报告 29交易策略评估的基本指标净利润平均单笔盈利(平均利润)交易次数最大资金回撤收益风险比(年化收益/最大资金回撤)基准平均资金回撤及次数平均收益风险比TB系数(结合凯利公式)其他 30主要指标的计算公式具体请参阅TB公式开发指南收益风险比 = 年化收益/最大资产回撤年化收益 = 净利润 / 总交易时间 * 365) 调整收益风险比 = 年化收益 / 平均资产回撤平均资产回撤 = 资产回撤总金额 / 资产回撤计数都是以超过最大回撤基准线以上的回撤来计算此基准线在“全局交易设置中”设置TB 系数 = (平均利润平均利润交易次数)/(平均盈利平均亏损)平均利
8、润 = 净利润 / 交易手数 R 平方值: 根据交易盈亏曲线拟合的趋势线与收益曲线之间相关系数的平方 (具体计算方式可查阅 EXCLE 表格中R 平方值的算法)增长系数: 根据交易盈亏曲线拟合的趋势线的斜率置信度 = 1-1/Sqrt(交易次数);头寸系数: 收益风险比*R 平方值*置信度 / 最大资产回撤31组合测试收益曲线323334监控器35公式入门要点及模型示例36TB公式运行机制从左到右,从上到下37盘中和盘后公式运行的差别盘后公式的执行情况分析 K线是确定的,不存在信号消失问题 公式在每根K线上只执行一遍 符合开仓条件和平仓条件会标出买卖信号(使用Buy 、Sell指令),但并不真
9、正发单盘中公式的执行情况分析K线是变化的,如用最新价或基于最新价计算出的 指标来作为入场或出场条件会出现信号消失问题 每当分笔交易数据(tick)传来时,公式都会执行一 遍 符合开仓条件和平仓条件除标出买卖信号,还会真 正发单TB公式的结构TB的公式一般由三段组成。ParamsNumeric Length(10); 公式参数段 VarsNumericSeries MA; 公式变量段 BeginMA = AverageFC(Close, Length); 公式脚本段 End39Bar数据(K线数据)当前时间周期下所有K线的相关数据,按照时间从先到后的顺 序排列而成的序列数据。每根K线中包含的数据
10、如下:40Bar数据含义Date当前K线的日期Time当前K线的开始时间Open当前K线的开盘价High当前K线的最高价Low当前K线的最低价Close当前K线的收盘价(最新价)Vol当前K线成交量OpenInt当前K线持仓量CurrentBar当前K线的索引值(K线的编号,从0开始)BarStatus当前K线的状态值(0第一根K线、2最后即最新 一根K线、1其他K线)序列数据41序 列 变 量序 列 变 量序 列 变 量序 列 变 量序 列 变 量序 列 变 量序 列 变 量序 列 变 量序 列 变 量序 列 变 量序 列 变 量序 列 变 量N N-1 2 1 0非序列变量(简单变量)42
11、非序列变量43交易指令 Buy/Sell Buy - 平掉所有空头持仓,开多头仓位; sell - 平掉指定多头持仓; Sellshort - 平掉所有多头持仓,开空头仓位; Buytocover - 平掉指定空头持仓。 参数:Numeric Share 买入数量,默认=0时,使用系统设置参数Numeric Price 买入价格,为浮点数,默认=0时为使用现价(非 最后Bar为Close)。44交易指令 A_SendOrder针对当前公式应用的帐户、商品发送委托单。该函数直接发单,不经过任何确认,并会在每次 公式计算时发送,一般需要配合着仓位头寸进行 条件处理,在不清楚运行机制的情况下慎用。不
12、能使用于历史测试,仅适用于实时行情交易。参数:BuyOrSell :买卖类型,买Enum_Buy/卖Enum_Sell; EntryOrExit: 开平仓类型, 开仓 Enum_Entry / 平仓Enum_Exit/ 平今 Enum_ExitToday;fLot 委托单的交易数量; fPrice 委托单的交易价格。 信号消失问题(1)产生原因:使用变化的价格(如Close)或是基 于最新价Close计算的技术指标,来作为交易的 进场、出场或止损条件时,就会产生信号消失 问题;如果编写的公式策略中存在信号闪烁问题,会 导致实际交易和历史测试结果出现较大差异, 所以应尽量避免;信号消失问题的一般
13、解决办法:用前一根K线的数据来做为判断条件用能保持得住的价格来做为判断条件信号消失问题(2)用前一根K线做判断举例: condition = 交易条件 If (condition1) Buy(1, Open); 用High,Low,Open等做判断If (HighHigh1) buy(1,High1);使用系统函数和内建用户函数通过帮助文档(F1)来查找和学习模型一:单均线系统 SMAS交易规则:如果收盘价格高于均线,做多,如原来持有空 单,则先平空单,再建多仓如果收盘价格低于均线,做空,如原来持有多 单,则先平多单,再建空单均线周期暂采用10日交易头寸暂为1手48公式代码Params Num
14、eric Length(10); Numeric Lots(1); Vars NumericSeries MA; Begin MA = AverageFC(Close,Length); PlotNumeric(“MA“,MA); If (Close1 MA1) Buy(Lots, Open); If (Close1 1 and Close1 MA1) Buy(Lots, Open); If (MarketPosition AvgValue21) Buy(Lots,Open); 公式代码(2)If(MarketPosition = 1 And Close1 AvgValue11) BuyToCo
15、ver(Lots,Open); End57模型三:MACD系统交易规则:DIF 在零轴之上,并大于DEA时做多,如原来持有空单,则先平 空单,再建多单;DIF 零轴之上向下突破DEA时,平多不开空;DIF 在零轴之下,并小于DEA时做空,如原来持有多单,则先平 多单,再建空单;DIF 零轴之下向上突破DEA时,平空不开多;MACD参数使用默认的(12,26,9),可优化;交易头寸暂为1手58公式代码(1)Params Numeric FastLength(12); Numeric SlowLength(26); Numeric MACDLength(9); Numeric Lots(1); Vars NumericSeries MACDValue; NumericSeries AvgMACD; Numeric MACDDiff; Begin MACDValue = XAverage( Close, FastLength ) - X