分类
外汇获利之道

如何建构自己的交易系统

44074

如何建构自己的交易系统

股市是个奇怪的东西,风险大,有“一赚二平七亏”的说法。统计数据显示,“市场其实更残酷”。但是,炒股似乎也上瘾,既然戒不掉,那就不妨深入参悟进去,尝试建构一套属于自己的交易系统。基于此,拉里·威廉斯的《择时与选股》一书,很有启发意义。
神与人
真有“股神”吗?股市是人发明的,人在玩,所以股市里没有“如何建构自己的交易系统 股神”,所谓的“股神”顶多算股市方家。美国人拉里·威廉斯曾经在12个月里,将账户资金从1万美元经营到110万美元,还在1966年发明威廉指标,至今仍被“技术派”视为分析股市的重要工具。牛人吧?但也有“败走麦城”的时候,仅1987年第一季,他管理的理财客户基金就亏损超过600万美元。
三人行,必有我师。股市方家虽不是神,但必有独特的地方。比如拉里·威廉斯从比尔·米汉学习基本原理,跟吉尔·哈勒学习理解市场规则,随汤姆·德马克学习判断市场拐点。威廉斯认为,一个成功交易者最重要的素质,除了要能承受痛苦,坚持不懈、永不放弃,更要有强烈的求知欲。威廉斯强调,指望只赚不赔是错误期望,赚钱的过程就像井底之蛙跳离深井,总是上蹦三步,退两步……
几乎所有股市方家,都有相同的特点:其一,曾在市场上赚过大钱,也都栽过跟头,没有从富翁变乞丐,皆因能预知风险大小并尽量减小损失;其二,不是只关心市场利益的“市场人”,因为广泛兴趣是成功交易的一项资本;其三,都不迷信,甚至不认为自己是很好的交易商,他们的成功完全来自系统,来自对系统的严格自律。
橘与枳
“橘生淮南则为橘,生于淮北则为枳,叶徒相似,其实味不同。所以然者何?水土异也。”
中国股市与其它地方股市的关系,就如橘与枳,同科不同属。姑且不说现下流行的股市技术指标,都只属于股市方家个人的交易系统,而且还只是他们个人交易系统的一部分。但由于中国股市与其它地方股市同科不同属,即使这些技术指标在某个股市是金科玉律,可到中国股市就未必还那么有效。中国股市的投资文化、监管制度、游戏规则、情绪波动等,均有自己的特色。股市的技术分析之所以能够留存至今,更多是代表对他们方法本身的一种认可,如想只通过现成技术分析追进杀出,实现盈利绝不可能,若然,股市就不会有“一赚二平七亏”的说法了。
就如拉里·威廉斯的威廉指标,研究、使用的人不少,但亏的还是在亏。威廉斯在《择时与选股》中揭示的“十年形态”“四年现象”和“10月效应”;披露的通过股息率、债券利率、股市融资余额、零股卖空比率、投资顾问看多比率等指标判断进入股市的时机;喜欢的赚取股价波动钱而非公司业绩成长钱和不赞成长期持有股票等等,虽是他从美国股市200年历史中研究的心得,但亦只属于作为“橘”的美国股市,未必适用作为“枳”的中国股市。而且,即使在美国股市,也有与威廉斯反其道行之而成为股市方家的“奇人”。
不过,橘与枳毕竟同科,中国股市与其它股市在底层方法论上也是可以打通的,因为它们都遵循“大胆假设,小心求证”的科学研究思路。比如,威廉斯在《择时与选股》中强调的操作系统,包括选股、择时和资金管理三大要素和找到一个成功投资策略“三步走”的过程,在中国股市也是一样适用。又如威廉斯在书中强调的历史研究方法和数据统计研究方法,同样可以移植到中国股市研究中。需要清醒的是,威廉斯的《择时与选股》,不是为我们提供可以照抄照搬的工具,而是给出了探索选股、择时和资金管理的方法论,剩下的工作,还是需要中国股市自己去建构。
是与非
笔者对威廉斯《择时与选股》中很多观点,深表赞同。比如,生存是第一位;大资金并非用于下大注;从亏损预期出发;你的财富将来自你的专注;上帝可能会迟到,但上帝从来不会缺席;认清自己的能力圈边界,并乖乖地待在里面;那些没有随股指下跌到历史新低点的股票,是最有可能成为带领股价上行的领导股;对投资者而言,更重要的是一年赚了多少钱,而不仅是某一年是上涨还是下跌;好的资金管理才能创造财富,赚钱时,增加交易单位、合约货股数,亏损时,减少它们的数量,等等。
投资者都想从股市赚钱,但争论市场对错,对自己无益;照抄照搬别人成功模式,对自己也无益。你独一无二,找到适合自己的赚钱方式并坚持到底,乃股市生存的不二法门,也是股市方家成功的秘密。威廉斯的《择时与选股》,只有他自己才明白其中的奥妙,运用到炉火纯青,享受成功的喜悦,承受失败的苦涩。书中,你反对的,可以用“三步走”的过程去证伪;你赞成的,也应该用“三步走”的过程去证实,然后再纳入自己的体系。
“投资有风险,入市需谨慎”。不学无术炒股难,学而有术炒股也不易。尚未染上股瘾者,若缺乏必要的风险准备,最好的选择依然是“珍爱生命,远离股市”。戒不掉股瘾者,则应该记住威廉斯的忠告:“投资应成为自己拥有胜率的赌场游戏”、“选择持续一贯运用的、经过考验的、已知的能够赚钱的投资技巧和策略”。威廉斯在《择时与选股》中分享的只是方法和思路,想在股市立足,找到拥有自己胜率的交易系统是关键。而这,只能靠自己,没有捷径可循;若梦想捷径,结果无外乎是少数人“吃饭”,你成为“埋单者”之一。

关于银行 银行概述 投资者关系 年度报告 荣誉榜 银行服务 个人业务 公司业务 产品信息查询平台 同业金融 投资银行 保险信息披露 帮助中心 联系我们 信用卡客服中心 --> 投资者问答 服务网点 网站地图 银行客户服务与投诉受理途径: 服务与投诉热线:95511转3、95511转2(信用卡) 海外服务与投诉热线:+86-95511、+86-755-95511、+86-755-29595511(信用卡) 一账通卡服务与投诉热线:95511转3(海外热线:+86-755-95511) 贵宾服务与投诉热线:4008895511(海外热线:+86-21-38824910) 服务投诉电子邮箱:[email protected] 信访投诉电子邮箱:[email protected] 总行信函投诉地址:中国广东省深圳市深南东路5047号(邮编:518001) 如何建构自己的交易系统 平安口袋银行 微信公众号 公司业务咨询

版权所有 ©平安银行股份有限公司 未经许可不得复制、转载或摘编,违者必究!该网站已支持IPv6

构建自己的外汇智能交易系统

也许你认为他们在夸张,说你不可能每次都看错,对,肯定是夸张了,但是为什么会他们这种错觉呢? 我认为,我们之所以会投资于外汇市场,大部分人的心态都是想“一夜暴富”,其实也就是想翻个一两倍,赚个几千几万美金。我们把这些人称之为 -- 赌徒(我们还是不要称他们为投机者,否则大家拍砖),他们最初的心态导致他们最终的投资失败,一旦实际投资失败了,他们就开始慌乱,开始迷惑、迷茫,开始怀疑个人的能力和天分,但是又不甘心,继续补仓,导致越亏越多,中间他们有可能翻本,由于贪心(可能是为了再赚几十个点甚至几个点),错过最好的出场机会,最终被深度套牢,强制平仓,所以他们日后总结和回忆的时候,才产生这样或者那样的错觉。

我们看到 MetaTrader 、 ODL 这些软件都提供了智能交易系统(其实我们平常挂单、跟踪止损就是最简单的智能交易系统),但是这些智能交易系统并不是我们想要的,我们想要的是自己的智能交易系统,所以,我会在 09 年新的一年,将着重学习和构建自己的智能交易系统,当然,我得先确定我所酷爱上层指标和下层指标,以及平常很正确的投资计划,再通过智能交易系统很完整的描述和表达我这种思想,来智能投资(不以人的意志而转移)。

构建智能交易系统,肯定是一个很庞大和漫长的过程,但是我相信我一定能够完成,最近网友在四处搜索 MetaTrader 软件编程的技术文档 MQL4 Reference ,可惜没有一个完整的中文版制作 MQL4 Reference 中文版电子书,将是我最近的要完成的任务,为大家学习提供参考,我会在后面的文章提供该下载连接。

由于工作的原因,可能大家最近发现,我再也没有发表什么技术类的文档(什么视频教程等等),我以后会把 MetaTrader 软件智能交易系统整个编程过程制作成视频教程,供大家参考。

最近和讯视频资源出现什么问题 ~~ ,导致在线视频不能观看,大家都在索取那些视频教程的下载资源,我后面有空,会重新上传这些资源,供大家下载,不过我 Blog 内容可能更多的是外汇方面的知识,希望大家能够喜欢。

如何建构自己的交易系统

20000+ 大赛小组 1500+ 服务高校

微信扫一扫 添加客服微信

还没有账户? 立即注册

蝶恋 2022-06-01 13:47 212次浏览

创建者:叩富小编 模拟资金:100万 时间:2021.5.如何建构自己的交易系统 1—2023.4.30 进行中
大赛介绍:叩富全民炼股争霸赛,每月为一期,按照模拟交易收益排名发放奖励。
1、每位参赛选手只能拥有一个大赛账号,且账号必须通过手机号验证;
2、单只个股最高仓位不得超过前一日总资产的50%,系统在买入时做限制;
3、月周转率需超过200%,才可参加月赛。全仓买入卖出一次的周转率算作100%;
4、初始资产统一为100万元虚拟资金;月赛期间如果亏损较多,可以购买“重置卡”,利用“重置卡”可以在下场月赛开赛前重置资产到初始资金100万。 展开


神与人

橘与枳 如何建构自己的交易系统

是与非

文章很精彩?转发给需要的朋友吧

分享该文章

版权及免责声明:本文内容由入驻叩富网的作者自发贡献,该文观点仅代表作者本人,与本网站立场无关,不对您构成任何投资建议。 用户应基于自己的独立判断,自行决策投资行为并承担全部风险。本站仅提供信息存储空间服务,不拥有所有权, 不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至[email protected] 举报,一经查实,本站将立刻删除。

嵩不凡 123

niceup 481

蝶恋 213

赵菲非 224

海里飞 319

翼飞冲天 273

107090

44964

44090

44074

43844

中泰证券:程序化交易系统构建与风险控制

量化交易在中国的蓬勃发展、人工智能在投资领域的应用、交易工具的丰富,使得程序化交易在证券市场越来越受欢迎。程序化交易能够更快地、更有纪律性地执行策略,从而减少冲击成本、降低情绪影响。规模较大的私募,由于具有交易策略多样性、交易市场广泛性、交易品种复杂性等特点,对程序化交易的需求显得尤为迫切。此外,程序化交易中的做市商策略、算法交易策略也对降低市场流动性风险起到积极作用。不过,历史上也曾发生过因为软件bug导致的亏损及个股闪崩等事件,这些风险事件大多是在程序化交易过程的关键点上没能做好检查和风险控制所致。如果能从系统构建开始就有意识的做好防范,使用正确的编程方式,就可以在很大程度上避免风险事件的发生。笔者希望本文能起到抛砖引玉的作用,吸引更多的程序化交易工程师分享经验,共同降低程序化交易的风险。

程序化交易系统的构建

程序化交易是把可量化的分析方法,用计算机编成交易策略进行自动下单交易,程序化交易是量化交易的一部分。根据证监会2015年10月9日公布《证券期货市场程序化交易管理办法(征求意见稿)》里的定义,程序化交易是指通过既定程序或特定软件,自动生成或执行交易指令的交易行为。在设计上一般包括行情网关、交易网关、策略器管理、风控及头寸管理器、监控客户端等若干环节。

1.行情网关

行情网关指的是连接不同的行情接口的适配层。针对股票类的行情网关有宏汇、国泰安、交易所原始行情接口、券商提供的接口等;针对期货的行情网关有CTP、飞马、飞创、飞鼠、盛立金融、艾克朗科等,还有各种境外行情。在行情网关的设计上,要充分考虑期货、期权、股票的兼容性,并且通过一致的行情结构体来统一,同时在行情上要保存好交易所的时间戳和本地时间戳。

行情网关的使用中,要注意以下4个风险点:过期的行情会导致错误的信号;行情断开或者重连会导致信号延迟或者错误;超过涨跌停价格可能产生错误的行情;多路行情源引发的行情重复问题。

2.交易网关

在交易网关上,除了下单外,成交回报是另一项重要内容。成交回报信息是策略重要的驱动因素,需要根据成交回报对订单状态进行更新。在更新状态的时候要注意顺序问题,不要让前面的状态覆盖了后面的状态。当订单收到全成、全撤、部撤、废单、拒单等状态时,需要将订单设为IsDone状态。所有IsDone状态的订单,状态形式不能再做改变。

在交易网关接口处理上要注意成交回报的顺序。乱序的成交回报如果没处理好,会导致已终结的订单被中间状态覆盖,比如全成变成部成,会引发资金扣减错误和持仓错误等问题。

3.策略管理器

策略管理器是程序化交易最核心的环节,设计的好坏,直接决定了程序化交易系统的策略扩展性。策略管理器在不同的团队有不同的设计方式,比较建议的设计方式是:一套平台,多种策略。目前常用的策略主要是趋势交易、Alpha策略、套利策略、做市商策略等。有同时买卖数百只股票,对并发有要求的策略,也有对低延迟有高要求的做市商策略。不管是哪种,都需要在策略管理器层面尽可能的统一。在实践中非常重要的理念,就是“用配对交易的理念来设计系统”。如果策略管理器从一开始就能支持配对交易,那么对其他策略的兼容性就会很好。

程序化交易的触发方式一般有两种:信号触发和定时触发。定时触发比较简单,这里重点谈谈信号触发。

复杂事件处理引擎CEP。CEP又称复杂事件处理引擎,主流产品有Apama CEP、Sybase CEP等,在国外共同基金使用较多,而对冲基金用的较少。在程序化交易系统里使用CEP的少之又少,最根本的原因在于CEP过于复杂,过于复杂的系统会带来高延迟和更多的不确定性。

消息队列MQ。消息队列的代表是互联网体系的Kafka、RocketMQ等,一般称之为分布式消息中间件,大多用在互联网的高并发场景,在低延迟的程序化交易系统里用的很少。程序化交易多为单体应用,在一台服务器上跑完策略,更看重低延迟而不是分布式和高并发。

进程内RPC。在单台服务器上策略模块的通讯多采用进程间通讯,也有直接在单个进程内通过无锁队列来实现消息派发,不过在高频交易中的实践里,使用mmap做进程间的通讯基本已经达成一致。mmap也是进程间通讯最快的方式。

4.策略调度

5.风控及头寸管理器

风控是策略非常重要的环节,分为三个层次:一个是账户层面的风控,包括账户总体盈亏、挂撤比、最大下单数、安全垫等;一个是策略层面的风控,一个账户里可能运行多个策略,每个策略都有自己的风控指标;再就是品种层面的风控,每个品种都设置最大可用资金、最大下单数、未成交订单数等;

6.风险指标

在风控环节一定要加上涌浪单检测来防止乌龙指。策略交易系统一般是行情和成交回报驱动策略,这也就决定了不太会有单品种频繁下单或者单品种在市场上暴露过多未成交订单。如果出现上述情况,往往是交易系统本身或者策略本身出现逻辑bug,这时应该做对应的拦截,防止对市场造成冲击。

7.资金扣减

交易系统里一定要设置资金扣减,在资金扣减上要注意市价单的处理。对于市价单,要用涨停价格来扣减,然后需要根据成交回报来更新实际的资金占用,所以这里成交回报的顺序和鲁棒就显得尤其重要。如果收到全成后又收到部成,并且没有仔细处理的话,容易导致资金和持仓错误。有些工程师会不注意策略交易系统的资金控制,认为柜台会做校验不会透支,然而如果有配对交易,比如期现套利,股指端成交后,现货发现透支,将会导致风险敞口的发生。

8.监控客户端

9.各类信号监控

10.异常流程处置

开发技巧

策略交易系统的开发模式与其他系统最大的区别在与对异常和不确定性的低容忍,“所有事情都要做到能够被解释”是一条很重要的纪律。在开发或者测试过程中发生的任何异常情况都要仔细分析背后可能存在的原因,往往某个隐藏的bug会导致生产上的亏损,所以不能接受任何“我这里是正常的”“重启试试”等逃避问题的行为。

1.防御式编程

防御式编程是提高软件质量的有益辅助手段,也是《代码大全》里的推荐方式。防御式编程的主要思想是:子程序不因传入错误数据而被破坏,哪怕是由其他子程序产生的错误数据。这种思想将可能出现的错误影响控制在有限的范围内。“假设你面对的是一个残酷的非法数据世界,你要足够鲁棒来保证你不受侵害”。可以通过接口类和内部类将数据隔离,在接口类上做数据的判断和检查,包括行情的判断、文件数据的判断、用户输入的判断等。

2.大量使用断言

编写代码时,我们总是会做出一些假设,断言就用于在代码中捕捉这些假设。断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,使用断言可以创建更稳定、品质更好且不易于出错的代码。断言只出现在Debug版本里,不会影响Release版本的性能。可以使用断言判断指针不为空、使用断言判断收到全成或部撤后不再收到成交回报、使用断言判断在成交回报回来查表时候一定能找到对应订单、使用断言判断行情的时间戳是顺序的等等,在每个逻辑关键点加上断言会极大程度上保障系统的健壮性,也能在重构过程中充满信心。

3.用单元测试用例来覆盖

单元测试也叫白盒测试,通过编写对应的测试代码来验证代码功能的正确性。单元测试是保障代码质量的重要手段,越早进行测试,未来修复bug的代价越少,但是单元测试也是“短期利益与长期利益冲突”的典型。长期来看有好处,短期却需要付出更多的劳动。单元测试有以下三点好处。

尽可能早的测试功能正确性。一个功能越早被测试,就能越早发现问题。当系统构建成功后发现bug,通过日志或者各种调试工具来修正错误的代价极其高昂,而早期通过单元测试代码覆盖,能尽可能的保障每个功能的健壮。

驱动代码编写规范,独立可测。当开始编写单元测试用例的时候,为了更好的测试功能类,会尽可能的把类写的独立可测,会尽可能的降低代码的耦合程度,也会更好的遵循单一职责原则(SRP),总而言之就是通过编写更多的单元测试来驱动代码写得更好。

单元测试是重构的重要保障。单元测试案例随着时间流逝会越积累越多,这也是重构的重要保障。当重构完并且通过所有单元测试,就会对产品的品质更有信心,也会更有信心去重构系统,而缺乏单元代码覆盖的系统重构起来困难重重,重构代价很高。