精华内容
下载资源
问答
  • 交易系统是完整的交易规则体系。一套设计良好的交易系统,必须对投资决策的各个相关环节作出相应明确的规定。这种规定必须是客观的、唯一的,不允许有任何不同的解释。一套设计良好的交易系统,必须符合使用者的...

    在风险市场的赢家都有自已的交易系统,这个交易系统是非机械的,适合你自己个性的,有完善的交易思想、细致的市场分析和整体操作方案的。因此寻找适合自已的交易系统与完善自已的交易系统是专业交易人士投资的一生几乎每天都在做的一件事。

     

    《什么是交易系统?》

           交易系统是完整的交易规则体系。一套设计良好的交易系统,必须对投资决策的各个相关环节作出相应明确的规定。这种规定必须是客观的、唯一的,不允许有任何不同的解释。一套设计良好的交易系统,必须符合使用者的心理特征、投资对象的统计特征以及投资资金的风险特征。

           交易系统的特点在于它的完整性和客观性。它保证了交易系统结果的可重复性。从理论上来说,对任何使用者而言,如果使用条件完全相同,则操作结果完全相同。系统的可重复性即是方法的科学性,系统交易方法属于科学型的投资交易方法。

           大部分投资人往往把决策的重点放在对市场的分析和判断上,其实这是非常偏颇的。成功的投资不但需要正确的市场分析,而且需要正确的风险管理和正确的心理控制。三者之间心理控制是最重要的,其次是风险管理,再次才是分析技能,即所谓的3M系统(Mind、Money、Market)。

           如果用一个比方来形容,对市场的判断在投资行为的重要性中只占1%而已,被大多数投资人忽略的东西,才是投资行为中的决定性因素。市场分析是管理的前提,只有从正确的市场分析出发,才能建立起具有正期望值的交易系统。

           风险管理只有在正期望值的交易系统下才能发挥其最大效用,而心理控制正是两者的联系桥梁和纽带。一个人如果心理素质不好,则往往会偏离正确的市场分析方法,以主观愿望代替客观分析,也常常会背离风险管理的基本原则。

           投资人若想在效率市场持续稳定的赢利,必须成功的解决两大问题:

           1、如何在高度随机的价格波动中寻找非随机的部分;

           2、如何有效的控制自身的心理弱点,使之不致影响自己的理性决策。很多投资家的实践都证明,交易系统在上述两方面都是投资人的有力助手。

           大多数投资者在进入市场的时候,对市场的认识没有系统的观点。很多投资人根据对市场的某种认识,就片面的承认或否认一种交易思路的可行性,其实他们不知道,要想客观的评价一种交易方法,就要确认该方法在统计概率意义上的有效性。

           无论是随机还是非随机的价格波动中不具备统计意义有效性的部分,只能给投资人以局部获胜的机会而没有长期稳定获胜的可能。而交易系统的设计和评价方式可以帮助投资者有效的克服对方法认识的盲目性和片面性。

           交易系统还可以帮助投资人有效的控制风险。实践证明,不使用交易系统的投资人,难以准确而系统的控制风险。没有交易系统做指导时,投资人很难定量评估每次进场交易的风险,并且很难评估单次交易的风险在总体风险中的意义。

           而交易系统的使用,可以明确的告诉投资人每次交易的预期利润率、预期损失金额、预期最大亏损、预期连续赢利次数、预期连续亏损次数等,这些都是投资风险管理的重要参数。

           帮助投资人有效的克服心理弱点,可能是交易系统的最大功用。交易系统使交易决策的过程更加程序化、公开化、理性化。投资人可以从由情绪支配的处于模糊状态的选择过程转变为定量的数值化的选择过程,即单纯判定信号系统的反映以及执行信号所代表的决策。

    交易系统几个核心内涵

           1、心态核心

           在交易系统没有提出可交易品种时期,心态如何摆正,并且做到行与心合一,是交易系统能够发挥系统交易的首要条件。如果,一套很好的交易系统,但心态急噪,无法忍耐空仓或者视那些持续飚升但不知道如何控制风险才为合理而又强行介入。

           那么,作为脱离交易系统控制,导致的失败,就不能归咎于交易系统程序失败,是心态失败导致了交易失败。因此,我认为,心态是最重要的,决定了交易系统的成败。

           2、得失核心

           不同的资金起点,有不同的得失。如100万与3万,年一倍,其交易次序是一致的,但掌握100万的个体,其将收益目标降低到年50%,其收益高于3万翻倍许多,其心理要求和技术要求就会大幅度的降低。

           因此,导致了不同的交易系系统。100万的个体很有可能看重中线交易系统,3万的个体很有可能看重短线交易。

           3、技术核心

           市场获利模式就三种,超跌反弹、高抛低吸、强势追高。

           (1) 超跌反弹,超,超到什么程度必反?弹,弹到什么程度必跌?

           (2) 高抛低吸,高,高到什么程度为高?低,低到什么程度为低?吸,吸是一次还是多次?

           (3) 强势追高,强,什么时期可以追,什么时期不能追?追,高到什么程度还可以追?

           超跌反弹,不同的人有不同的分析基点,那么,定义这个超,就可以采用历史统计来实现。例如,高点下降超过60%,并且在形态、成交量分布等等技术,都达到适当,那么,这个超,就是必反的定义。历史统计应该成功率非常高才对,如果,还是很低,那么,这个就不是超。

           高抛低吸,笔者认为,从形式上,它应该是某种通道的产物,达到通道的上轨,抛出,达到通道的下轨,低吸(在你的系统中有使用布林线进行操作,但必须分析整个趋势处在什么状态,如果处在整理趋势之中是很可行的一种技术分析指标。

           但如果明显处在一个上升或下降的趋势之中,那么使用趋势线与通道线是明智的选择——当然在整理趋势中也适用,这样避免使用布林线等摆动指数所发出的模糊或错误信号)。

           通道的下轨永远都都在K线之下,出现小概率在之上,应该是抄底系统信号。通道的上轨永远都在K线之上,出现小概率在之下,应该是逃顶系统信号。——与布林线有同曲异工之妙。

           强势追高,当指数形成中级行情的时候,才追高,这种是比较安全的。也可以在下降通道中追高,但这要取决于历史统计,实际上,强势追高是一种不理性的操作手法。在追高的选股时期,可以肯定手中有资金,行情在上涨,这部分资金踏空,那么,如果有上面两种交易系统,就不存在踏空。只存在速度上的不同。

           4、控制核心

           在交易系统出现信号时期,因为必然存在不确定性,就需要资金管理来将不确定性(我称为风险)降到最大可控程度,这个并不是技术交易系统的内容。假设,一个可以达到70%成功率的技术交易系统,如果加入资金管理,可以提升到80%,那么,这个技术交易系统的成功率就是80%,而不是70%。

           5、跟踪核心

           在交易系统出现信号时期,并交易介入。后市趋势跟踪系统是否有转市的可能存在,如果存在,即立刻止赢。因此,好的交易系统,还应该有一个配套的好的趋势跟踪系统存在,以决定趋势的终结,以便于让利润奔跑。

           6、空仓核心

           当交易系统没有信号时期,是否能够达到空仓所需要的心理素质,这也是交易系统成败的重大问题。

           由此,可以清晰看到,技术交易系统只是交易系统的一个部分,而不是全部。当技术交易系统出现信号时期,并不是系统在做决策,实际上是人在综合做出行为决策。

           一份好的交易系统,包含了心态、技术、要求、忍耐、控制等等。所以,交易系统是综合分析系统。来解决在正确的什么时机、选择正确什么对象、进行正确的行为的决策系统。

           建立交易系统总体流程步骤一:“构造交易系统”

           A) 要明确交易系统的目的:“克服人性弱点,便于知行合一”

           B) 要明确交易系统的特性:“整体性和明确性”

           C) 交易系统随时间和市场外部环境变化,“本身要能够修改和进行参数调整”

           D) 交易系统的一些基本子系统:“行情判断、板块动向、风险管理、人性控制”

           建立交易系统总体流程步骤二:“检验交易系统”

           A) 检验交易系统包括:“统计检验、外推检验和实战检验”;

           B) 要考虑交易成本;

           C) 要考虑建仓资金量大小造成的回波效应;

           D) 要考虑小概率事件(统计学上的胖尾)对交易系统的影响;

           建立交易系统总体流程步骤三:“执行交易系统”

           A) 日常操作主观要服从客观,“交易有依据、欲望要消除”

           B) 模拟操作不可少,即使不交易,依然要“仔细看盘、仔细复盘、揣摩多空主力的思路、勤动脑多实践”,最终做到“正确地知行合一”

           总之:一个交易系统的形成除了有市场普遍性具有的特点外,也应有每个人个人的性格特点,对于即日交易(秒——小时)、短线(小时与天)、中线(周与月)、长线(月与年)不同交易方式的人(其中已含有个人的操作特点)也应有所不同。

           交易成功的全部秘诀就是:始终如一地坚持用自己的交易系统来交易。

           投资的成功,重要的不是看你的工具有多么强大和优秀,而是你能否用好你的交易工具。在通往财富梦想的道路上,最有效的策略就是专注和坚持一个良好的交易系统。专注和坚持可以产生不可思议的力量。当你真正做到这一点时,你就可以创造你自己都不能相信的奇迹。

           任何领域的伟大,都来源于一个人坚持到所有障碍都被克服之后的能力,由于普通人完全缺乏这种决心和能力,因此他们几乎注定只能是普通和平凡。

           坚持使用一个成功的交易系统,是小人物成就大事业的不二选择。任何交易者都必须有将小事做成大事业的决心和信心。不要轻易怀疑自己已经经过验证的良好的交易系统。

           超级操盘手比的往往不是技术,而是素质。

           成功的交易者有着一种与众不同的素质,他们拥有正确的思维方式,严谨的交易态度,强烈的自信心、果敢,和面对失败永不言败的精神,即使在市场最困难的时候,他们也能完全按照系统交易。

           因为他们知道:成功就是要有远大的目光,克服人性短视的弱点,有坚持一个固定的盈利模式的耐心和信心。

           贪婪和恐惧的深层次原因,在于交易理念混乱和资金管理不合理。

           在我们人的一生当中,有两种情绪一直主导着我们的生活,甚至可以说是决定着我们的命运——贪婪和恐惧。投资是生活的一个缩影,是一个被缩小了的生活。

           置身于投资世界的人们,同样面临着恐惧和贪婪的诱惑和驱使。投资世界赤裸裸的金钱交易,更加放大了这种情绪。以至于我们的思维、心情在恐惧和贪婪中完全迷失自我。

           其实在操作时,我们不要去奢望能在趋势中捕捉到多空两面的全部行情。而是完全按照主力的思维只操作单边行情。市场是永不停息的,即使我们错过了一次好的机会,只要我们有耐心,能够控制住内心的贪婪,总会等到下一次良好的交易时机。

           但实际上,我们中的大多数人永远控制不住自己内心的贪婪,在丢掉合理的入场时机后盲目的追涨杀跌。还有很多次,我们会奈不住自己内心的恐惧,在系统没有出现止损的情况下,人为的平掉了本可以大赚的仓位。

           几乎所有失败的交易者都会因为交易理念的混乱,不懂得交易盈利的哲学原理,致使他们不能接受系统中出现的亏损,从而也就享受不到大幅盈利所带来的震撼。

           在交易中,亏损只是我们为了获得最终胜利所必须付出的成本和代价,它就像人类的呼吸一样自然。然而很多投资者在经历了几次连续的亏损后,往往会因为对未来不可预见的恐惧感,从而放弃了一套优秀的交易系统。

           一个成功的交易者,必须要培养起正确对待亏损的认识和心态。只有你恰如其分地认识到了亏损在整个交易系统中的意义,才能在一种无压力的心态中进行当下的操作。

           除非你能够从交易理念上坦然接受亏损,否则你永远不会成为一名持续盈利的交易者。为了追求全局的盈利,就必须接受暂时的亏损。

           以上种种怪异的交易行为,都是因为投资者的交易理念不清晰,不懂得投资行业盈利的交易哲学造成的。试想,如果我们有着正确的交易理念,能够深刻的理解成功的交易其实不关乎趋势多空的判断,而在于严格的遵守纪律。

           那么我们还会在系统发出做多信号时对趋势的多空摇摆不定吗?如果我们能够深刻的理解了交易和趋势无关,只与交易信号有关,我们还会心神不宁的看外盘、听消息、在盘中随意地操作吗?

           如果我们深刻地理解了投资盈利的交易哲学,亏损只是我们捕捉成功的必由之路,我们还会不接受亏损、而去追求和寻找高胜率的交易系统吗?

           如果我们懂得了所有的交易系统只能捕捉特定的一段行情,任何系统都不可能将所有的波动一网打尽,懂得做得多不一定收益就多的道理,我们还会贪婪的想拥有所有的利润而频繁操作吗?

           交易与其他无关,仅仅与系统的交易信号有关。趋势的方向根本就和你的成功无任何关联。什么看外盘、听消息,问专家,这些除了使自己更加焦虑以外,对我们的成功交易没有丝毫的帮助。

           只要系统显示的是做空信号,哪怕全世界的人都看多,我们也只能做空。严格的按照系统操作才能保证亏损最小化,利润最大化。有一句名言:“一个优秀的操盘手是一个没有观点的操盘手”。

           还有一种情况会导致我们恐惧和贪婪,那就是资金使用不合理。

           重仓、满仓、不断加仓会使自己的操作资金承担过大的风险,这种赌徒式的操作方式只能导致两种结果:要么暴利,要么爆仓。从而使交易者由于心理极度的恐惧,在行情还没有到达指定的止损位置时,就匆匆平仓出局。从而导致整个操作变形,或由于恐惧从而放弃一个原本良好的操作系统。

           交易是一种在收益和风险中寻求平衡的学科。我们既不能一味使用重仓,也不能一直使用轻仓。而在该轻的时候轻,该重的时候重。不但要有定性,还要有定量,这样才能指导实际的操作。随着交易系统和盈利多少不断变化交易的仓位,这才是资金管理的精髓。

           交易带给我们的不只是金钱,更多的是智慧的彻悟和人性的归真!

           拥有一套良好的交易系统是起点,执行力才是难点,自己有切实可行的交易策略才是重点。通过不断细化和完善交易系统的细节,以适应自己的交易性格,让自已的执行力大大改善。交易的时候如行云流水、心理没有丝毫的压力,交易变得舒适和自然。

           对于投资世界中的纪律问题,我们往往能够通过细化交易系统,以适应自己的性格;设计优秀的资金管理,以减轻交易时的心理压力;修炼资金的交易内功,以防止对投资的不正确认识导致的随意操作;固化交易流程,以便能够轻松地遵守交易纪律。

           技术只是成功道路上一个很微不足道的障碍,良好技术应用背后是交易内功。

           在得到一套大概率盈利的交易系统后,在实际操作中往往却因为这样或者那样的原因不能完全执行。到底是什么在影响着我们对一个优秀的交易系统的执行呢?是交易者彻底贯彻交易系统的信念和能力。

           控制着交易成败的关键因素就是信念,自信心的大小决定一个人成就的大小。一个人成就的大小,往往不会超出他自信心的大小。成功的先决条件就是自信。

           交易内功:

           (一) 盈利的交易哲学

           (二) 投资者看待自我和看待市场的方法

           (三) 正确的交易理念

           (四) 投资者对待投资市场的态度和坚定的交易信念

           (五) 实战中的交易行为和交易流程

           很多人拥有了盈利的交易系统却根本无法执行,很大程度上是因为他们怀疑系统,对自己的交易系统没有坚定的信念。“我们不但要有交易系统,还要有信念系统。”

           在交易中,我们如何对自己的交易系统形成坚定的信念呢?答案很简单,那就是熟悉系统、理解系统、融合系统。交易技术和交易哲学是相为一体的,是交易哲学思想的具体体现,只有这样的技术才能根深蒂固,应用起来才能行云流水,而不会障碍重重。

           投资者只有将操盘技能训练成一种交易习惯,训练到极其熟练以至于不经过思考的境界,才能真正抵制住盘面这种迷人的诱惑,才能完全达到按系统信号操作而不变形的能力。

           投资是一场马拉松,而不是一场百米赛。在这场旷日持久的比赛中,看的不是谁跑的最快,而是看到底谁跑的最稳。

           我们只有长期的专注于一个我们最为熟悉的交易模型,这样我们就能很快的熟悉这个模型,并和这个模拟形成某种程度的默契,使自己的心率能够和市场的波动相匹配,才能在交易中达到一种舒适、自然的境界。

           投资是一种游戏,轻松、简单和按部就班才能在竞争中达到盈利。如果你在每天的交易中都感到焦虑和恐慌,心神不定,那么肯定是你的交易方法和你的心率没有和这个品种形成共振,达到一种默契的境界,这样你就很难达到投资获利的目的。

           交易就是在不断的和自己的人性作斗争中逐渐成长。只有你将原本不舒服的交易变得逐渐的自然流畅,你才能够成为一名成功的操盘手。

    推荐阅读:

    1.一个量化策略师的自白(好文强烈推荐)

    2.股票期货经典的量化交易策略都在这里了!(源码)

    3.期货/股票数据大全查询(历史/实时/Tick/财务等)

    4.三分钟弄明白为什么贝叶斯是量化工作者最常用的工具

    5.学习Python有哪些书籍?这里有一份书单送给你

    6.江湖中常说的“网格交易法”到底是什么?

    7.10种经典的日内交易策略模型思路

    8.干货 | 量化选股策略模型大全

    9.量化金融经典理论、重要模型、发展简史大全

    展开全文
  • 很多朋友对交易系统这个东西很感兴趣,经常问我的问题就是“怎么组建交易系统”、“怎么判断一个交易系统能不能盈利”等等。其实组建交易系统并不难,我们之前的文章讲... 完整的交易框架应该是什么样的?我们先来想...

    很多朋友对交易系统这个东西很感兴趣,经常问我的问题就是“怎么组建交易系统”、“怎么判断一个交易系统能不能盈利”等等。

    其实组建交易系统并不难,我们之前的文章讲过很多,其实最难的部分是如何判断和测试一个交易系统能不能盈利。

    今天这篇文章就聊一聊:如何判断一套交易系统是否能盈利。

    文章比较长,建议收藏阅读,觉得有收获可以“点赞”支持。

    1.交易系统有完整的框架吗?

    A. 完整的交易框架应该是什么样的?

    我们先来想一想最简单的交易是什么样:

    (1)买什么?做多还是做空?

    (2)在什么价格买?

    (3)在什么价格卖?

    (4)买多少?

    做交易绝对绕不开这4个问题,解决这4个问题就解决了交易系统的构建。

    因此交易系统就有4个最基本的构架:

    (1)确认趋势(做多还是做空,或者空仓)

    (2)进场位置和信号的选择(在什么价格买?)

    (3)止损和止盈的设置(在什么价格卖?)

    (4)资金管理(卖多少?)

    大家在组建交易系统之前,就在这个框架之上完善各个部分的细节就可以了。

    这个框架形成了科学的交易逻辑的闭环,这样交易系统真的就成为一条系统,就像工厂中的生产线一样,也随着行情的推动不停地交易,不停的运转。

    什么时候开仓,什么平仓,什么时候等待,做多少仓位,都在交易系统的框架之内。在这里人的作用只是一个执行者,决定交易盈利的根本在交易系统和行情走势。

    B. 我的交易系统的框架是什么样的?

    这里篇幅有限,所以我会用简单的示意图来展示,也便于大家理解。

    80ab598a32cf4bb760cc6b27ff3f67aa.png

    上图是我的交易系统的执行的示意图,随着行情的推动一直不停地运转就可以了。

    (1)向下的第一蓝色箭头,为确认趋势;

    (2)第二个蓝色箭头是行情的回踩,回踩到位之后进场,止损设置在回踩的高(低)点;

    (3)按照止损空间的两倍空间做为出场的目标位;

    (4)采用本金的1%作为资金管理的规则。

    C. 如果框架不完整,会出现什么状况?

    没有完整的框架,没有形成交易系统闭环,就没法验证交易系统的有效性。

    举一个止损设置的例子:

    在外汇和期货市场中所有止损的订单,如果不止损将有80%能够回到开仓价甚至扭亏为盈。但其中20%的行情可能是不回头的,遇到这样的情况账户亏损就是一个超级大的无底洞。这样的交易注定是亏损收尾,这样就算交易系统80%的成功率根本也没有意义。

    没有止损设置,订单被套了,会被套多久或者被套多深谁也不知道,这样的交易系统谈论盈利水平有意义吗?

    因此交易员谈论交易系统的成功率:成功率+盈亏比=交易系统的盈利水平。

    成功率一定是标准完善的前提下才能讨论的。

    下图是我自己做过的2014年欧元兑美元的交易,我在“1.4”的时候做多了欧元兑美元,不止损导致爆仓。

    就算当时不爆仓,到现在过去了6年多,欧元兑没有还没有回去,不止损订单还在飘着。这样的交易系统根本不能盈利,也无需谈论交易系统的盈利状况。

    3b6630f24daac0ef8796119972644ed5.png

    2.交易系统经过测试吗?结果如何?

    A. 为什么交易系统需要经过测试?

    这是非常简单的道理,一套系统不经过测试,不知道执行下来是亏还盈?盈利能够盈利多少?亏能够亏多少?交易频率是不是分布合理等等,具体的交易系统参数是无法实战的。

    重点:我遇到过很多交易员已经实战了,甚至亏损了好久都不曾测试过自己的交易系统,更不知道自己交易系统的具体盈亏的表现,就是凭着“感觉自己交易系统能盈利”的信念去交易。

    有这样做法的朋友,亏损是再正常不过的事情了。

    B. 怎么去测试交易系统呢?

    拿历史数据测试交易系统。

    很简单,把交易系统的标准拿到历史数据中交易,交易一定数量之后看最终盈利的结果,至少要交易200次以上并且结果是盈利的,那么理论上这个交易系统是可行的。

    举个例子:

    (1)EMA30在EAM180之上只做多不空,EMA30在EAM180之下只做空不多。

    (2)k线收线价格站上EMA30做多,反之做空;做多止损设置在击穿EMA30k线的低点,做空反之;k线价格反向击穿30EMA平仓。

    (3)使用固定的仓位作为资金管理的规则。

    按照这样的交易系统在历史行情中交易200次以上,看具体盈利的表现。

    示意图。

    ff18bc277da94441a971cadde372d43a.png

    这种测试基本分为两个形式:

    (1)软件测试,将交易系统写成程序化交易的软件,在历史行情中做测试,验证有效性。

    软件测试的优点:速度快,效率高,出结果快。

    软件测试的缺点:不是所有的交易系统都能程序化,另外写的程序好坏也影响复盘的效果,程序有小的BUG也是会影响交易结果的。

    (2)用复盘软件手动复盘交易系统,验证有效性。

    手动复盘的优点:交易员亲自经历行情的变化,每笔复盘交易都要手动参与,对于交易和行情的感知更直观,对于交易提高有很大帮助。

    手动复盘的缺点:效率低,需要很大耐心才能得出结果。

    我推荐:复盘软件手动地复盘。

    毕竟交易是需要人去做的,经过大量复盘,而且是连续的行情在交易员眼前一直运行。

    我可以非常负责地讲:当30年行情甚至50年行情在你眼前走一遍之后,你对于交易,对于行情,对于回报的认知真的会发生天翻地覆的变化。

    上面的EMA180和EMA30的交易系统就可以用复盘软件可以手动复盘,会非常有效。

    我在建立交易系统和验证交易系统有效性的过程中曾经复盘的行情加起来有百年的行情不止。

    下图是我复盘做数据统计的图表。

    26511df9f20d9de29401e0fffe3c41e4.png

    C. 怎么样的交易结果算是合格的?

    (1)复盘交易的数量:

    至少200次以上的交易量,复盘交易的数量越多,交易结果越接近真实的交易盈利状况,从统计学角度,更多的统计数量更有统计学意义。

    (2)交易频率合理:

    过高交易频率对交易者精力要求很高,交易容易犯错,或者是错过。过低的交易频率交易员距离市场太远不容易保持良好的交易状态。

    我们的操盘手保持一周3-4次交易频率是很合理的。

    (3)交易中连续止损的频率不易太高:

    6-7次是交易者的极限。一套交易系统如果出现太多止损的交易,交易者很容易心态起伏,交易走形导致交易亏损。

    (4)账户盈利但账户净值不能大起大落:

    资金曲线应该平滑的向上,回撤和盈利的比例应该合理。

    一套交易具备了以上4点,基本就算是基本合格的交易系统。

    总结

    写一篇文章真累啊……

    因为每个人的交易习惯不同,大家可以根据自己的交易系统的情况进行测试。记住了,千万不要拿没有经过测试的交易系统来实战,不然亏钱是注定的。

    希望这些内容对你们有帮助,有问题直接评论区留言,或者直接私信我都OK。

    展开全文
  • 但受限于编程能力,估计很少有人能自己从最底层开始写出一套完整的交易系统。quant自己写交易系统这个事也不新鲜,开源项目vnpy的作者就是交易员,这个项目的一个宣传语我很喜欢: by trader, for ...
    我一个策略研究员,怎么就写起交易系统来了呢?

    动机

    作为一个Quant,我一直以来都有一个愿望,就是自己写出一整套程序化交易系统并实盘交易,相信绝大多数刚刚接触量化交易的同学也都曾经有过这个想法。但受限于编程能力,估计很少有人能自己从最底层开始写出一套完整的交易系统。

    quant自己写交易系统这个事也不新鲜,开源项目vnpy的作者就是交易员,这个项目的一个宣传语我很喜欢: by trader, for trader。quant自己接入交易所的好处显而易见:能深入理解下单成交是怎么一回事,跟IT的沟通会更流畅;能更深入的研究市场微观结构;如果是研究算法交易、高频策略那自己接入交易所的能力是必须的。可以说写交易系统是牛人标配,为了向牛人学习,我自己也折腾过一阵子CTP,但最后因为坑太多加上对C++不熟无奈弃坑。

    大概半年前机缘巧合接触了数字货币量化交易。虽然最后没赚到钱,但在这个过程中却发现了一件事:

    数字货币的程序化交易系统,非常适合编程能力有限的同学作为入门级项目!!

    原因如下:

    • 编程语言方面,会python就够了,我认为这是最最有吸引力的一点。国内商品期货程序化接入基本上是CTP,需要会C++。对于Quant Analyst来说,多数人都是以python作为主力语言,除非是做高频否则很少用到到C++。实现国内期货或股票程序化交易不可避免要先学点C++,但现在我们可以直奔主题!
    • 交易规则实在是太简单了。绝大多数数字货币交易所合约,只有买卖方向而不需要考虑开平仓,而国内期货则复杂的多,涉及到区分平今平昨和锁仓等。
    • 数字货币是24小时交易的,这意味着开发过程中可以随时连实时行情调试。之前对接CTP时,每天要等到交易时间才能调试。写代码的同学们大概都知道,coding这个事是需要兴致的,当你突然灵光一闪想到了一个技术问题的解决思路,从被窝里爬出来鼻血狂飙码完代码,却发现不能调试,实在是一件很扫兴的事,一来二去这个项目大概率也就凉了。
    • 接口方面。数字货币接口采用Rest + Websocket的形式 ——下单其实就是一个POST请求。相信多数Quant都搞过爬虫,HTTP多少了解一些,这种交易接口可能有种亲切的感觉?
    • 对实盘资金要求不高。国内期货最少一手也要上千人民币,数字货币几十块钱就可以实盘测试。

    于是我利用国庆假期9天的时间,搞出了一个数字货币全自动交易系统的最简可行产品:

    JiaRu2016/qsedgithub.com
    13fa41a69f0d1c7285c162dd3fd5425f.png

    测试效果如下:

    6f2adb9c3ef1338018a79e60cf913130.png
    bitmex程序化交易演示https://www.zhihu.com/video/1045798930511626240

    策略研究员写交易系统,回想起来整个过程确实蛮有挑战性,于是我把开发过程和一些经验体会记录下来。

    准备工作

    只有入门级python水平、或者是技能点都在数据分析(pandas,numpy,matlotlib)方面的人,需要补充哪些知识才能实现一个最简单的程序化交易系统呢? 我的个人总结了一下:

    1. 理解事件驱动的编程方式 (Event-driven programming)
    2. 理解并能自觉运用OOP (object oriented programming)
    3. 知道多线程、多进程
    4. 了解HTTP协议(数字货币only)
    5. 其他通用的编程技能,例如:pdb调试、单元测试、logging、版本控制git、Linux服务器常见操作、数据库交互等零零散散的知识点,以及读api文档,查google,混社区和开发QQ群等软技能。

    其中前两点是比较重要、但又需要一定的时间和项目量积累的。尤其是之前以数据分析为主业、习惯于面向过程的编程方式的data scientist们,思维的转换一定的。。。机缘(没错,当你遇到一个必须用某种特定的设计模式解决的问题时,自然而然就瞬间理解了这种设计模式,这比啃书本有效得多),当然在这个机缘到来前肯定也是需要一定的时间和代码量的积累。

    3,4两点没啥难度,酐时间即可。多进程多线程看廖雪峰的教程就差不多了;做过爬虫的人对http协议肯定有一定了解,不了解的去看廖雪峰教程。这两点基本上有一定编程经验的人多少都接触过。

    第5点会影响你的开发速度、开发时的痛苦/幸福程度、以及项目烂尾概率。这些同3,4一样,没有什么难度,但需要肝时间,平时积累比较多的人会好一点,积累的少也没关系,有耐心即可。

    过程

    指望一下子就写出整个系统是不现实的,大家可以看我的git提交历史,其实最开始写的时候初始设计跟现在呈现出来的还是有一定差别。从我自己的经验来说,首先有一个大体的路线图,将整个系统分解为一个一个的小问题,分别解决之,再逐渐连成一条线。在这个过程中不可避免的要经历多次重构。

    我自己的开发路线图是这样的:

    1. 先行情接入,print之。这个是最简单的,需要学习的就是websocket。
    2. 跑通下单接口,然后做初步的封装。参考了交易所官方的代码实现。这一步主要解决的问题是登录authentication和rest请求加密。
    3. 订阅仓位和成交回报,在网页端手动下单测试。这个后面要用于OMS(order management system)和独立风控模块。

    123的顺序可以打乱,这三个是交易系统的基础。接下来要连接这三块:

    4. 将2和3的成果结合起来,实现一个基于目标仓位的订单管理系统OMS。随机生成目标仓位测试这个OMS。

    5. 策略模块。策略订阅市场行情数据,生成信号push到事件队列中。在这一步将1的成果封装成数据引擎DataHandler,根据策略类型的需要设计DataHandler的方法和属性

    6. 组合管理模块。初期不做任何组合调整,单纯做策略信号的合并,将目标仓位推送到事件队列中。

    7. 将6和4的成果连接起来,实际上我们就已经完成了一个全自动交易系统。将事件队列、事件注册和分发逻辑抽象出来封装成一个事件引擎,将main.py封装成MainEngine,这基本上就是一个主流的事件驱动交易系统的雏形了。

    接下来我会写6篇笔记,按照上面的路线图,分别详细解释每一步怎么做:

    // TODO:

    1. 理解基于事件驱动的回测/实盘交易系统架构
    2. 底层行情/交易api封装
    3. 订单管理系统OMS
    4. 行情与策略
    5. 连线成面构建整个CTA交易系统
    6. 其他上层应用

    写到这突然感觉自己挖了个大坑,希望不要烂尾

    展开全文
  • 他教给这13个学员一套完整的交易系统,由于学员们被称为“海龟”,后来人们就把这套系统称为海龟交易系统。下面将介绍这套交易系统的具体实现。1.基本原理 原版的海龟交易系统包括市场(买什么),头寸规模(买卖...

    著名的商品投机家理查德.丹尼斯相信,伟大的交易员是后天培养的,他可以教会人们成为伟大的交易员。1983年,他挑选了13个人,对他们进行培训,并为他们提供真实的账户进行交易,希望证明自己的论断。他教给这13个学员一套完整的交易系统,由于学员们被称为“海龟”,后来人们就把这套系统称为海龟交易系统。下面将介绍这套交易系统的具体实现。

    1.基本原理
    原版的海龟交易系统包括市场(买什么),头寸规模(买卖多少),入市(何时买入),止损(何时退出亏损的头寸),离市(何时退出赢利的头寸),策略(下限价指令还是市价指令),本策略的大框架是按照原版的海龟策略搭建的,但是在具体实现方面有些改动。
    市场:本策略中为简化起见,选取了一只股票,中国平安
    头寸规模:本策略中最大头寸规模限制为4unit,关于unit的计算详见后文的策略流程
    入市:策略中有两个入市系统,系统一和系统二
    止损:海龟策略使用以价格为基础的止损条件,当股价比买入时股价低2N时将持有的头寸清空
    离市:在当前股价比day_out天以来的最低价还低时把持有的头寸清空
    策略:原版海龟交易策略是执行限价指令以避免对实际市场价格造成大的波动,本策略中由于是采用以前的数据进行回测,股票价格已经给定,不存在干扰市场的问题,因此都执行的是市价指令

    2.变量计算及操作:
    由于海龟系统涉及到的变量计算和操作比较多,因此下文把各个变量的计算及一些操作 出来进行说明

    N的计算方式:N=(19×PDN+TR)/20,其中,PDN是指前一天的N,
    TR(实际范围)=max(H-L,H-PDC,PDC-L)
    式中:
    H-当日最高价
    L-当日最低价
    PDC-前个交易日的收盘价
    在本策略中,用于迭代的第一个N是采用days天内数据可用的那些天的TR的平均值
    Unit的计算方式:unit=帐户净值的1%/(N×每点价值量)
    每点价值量 是指一手合约的价格每变动一个最小单位,整个合约变动的价格。在中国股市中,股票价格变动的最小价格一般是0.01元,一手股票是100股,因此每点价值量就是0.01*100=1。
    入市:价格形成突破,即当前股票价格>day_in天中股票的最高价格
    对于系统一,day_in=short_in,对于系统二,day_in=long_in
    对于系统一,如果上一次的突破实现了盈利,那么下一次就忽视掉系统一的突破信号
    入市以后的增加单位:如果在持有头寸之后,股票价格在上次突破时的价格的基础上又上涨了0.5N,则再买入一单位股票
    注:short_in是系统一入市时的参数,表示取多少天内的股票价格,例如,如果设置short_in=20,则当前股票价格>20天中股票的最高价格时算一次突破。
    Long_in是系统二的入市参数,含义同short_in
    增加单位:当股票价格>上次突破价格+0.5N时,在原来持有的头寸的基础上继续增加一单位
    止损:如果股票价格相对于上次买入的价格下降了2N,则把持有的头寸清仓
    离市:如果股票价格小于day_out天来得最低价,则清空持有的头寸
    对于系统一,day_out=short_out。对于系统二,day_out=long_out
    注:short_out是系统一的离市参数,如果股票价格小于short_out天中股票的最低价,则离市,long__out同理
    调整资金规模:在将头寸全部清空之后,判断如果当前资金小于(1-loss)初始资金,则将可调用的资金缩减为adjust当前资金
    注:loss,adjust是调整资金规模的参数,loss表示调整资金规模时的损失比例,即如果损失的资金占初始资金得比例达到loss时,需要调整资金规模。
    Adjust表示资金规模的调整系数,即每次调整时,将可用资金缩减到adjust*当前资金
    注:系统一和系统二是两个独立的系统,这两个系统的资金分配由ratio控制,系统一得到的资金占总资金的比例为ratio,系统二所占比例为1-ratio。此外,在购买股票和清空持有头寸时,两系统也是独立的,清空不是指把所有股票都清空,而是哪个系统需要清空就清空该系统内的股票。
    3.海龟策略流程
    计算N,unit,
    判断是否调整资金规模,如果需要,则进行调整
    进行系统一,根据当前价格,系统一中的头寸判断应该入市,还是增加单位,还是止损,还是离市
    进行系统二,同样,根据当前价格,系统一中的头寸判断应该入市,还是增加单位,还是止损,还是离市

    import numpy as np      
    import pandas as pd
    from pandas import Series,DataFrame
    import random
    import math
    # 定义一个全局变量, 保存要操作的证券
    security='600196.XSHG'
    # 设置我们要操作的股票池, 这里我们只操作一支股票
    set_universe([security])
    set_benchmark('600196.XSHG')
    #设置回测条件
    set_commission(PerTrade(buy_cost=0.0008, sell_cost=0.0015, min_cost=5))
    set_slippage(FixedSlippage(0))
    #调整资金规模时的临界损失比例
    loss=0.1
    #调整资金规模时调整后的资金占当前资金的比例
    adjust=0.8
    #计算第一个N时取得股票数据的天数
    days=20
    #系统一入市时股票价格需要高于short_in天内的最高价
    short_in=20
    #系统二入市时股票价格需要高于long_in天内的最高价
    long_in=55
    #系统一离市时股票价格需要低于short_out天内的最低价
    short_out=10
    #系统二离市时股票价格需要低于long_out天内的最低价
    long_out=20
    #系统一和系统二的资金分配比例,系统一得到ratio*总资金,系统二得到(1-ratio)*总资金
    ratio=0.7
    #单一市场中的头寸规模限制
    limit=4
    #记录策略运行了多少天
    pdn=0
    #记录N值
    N=[]
    #记录系统一中股票的单位数
    sys1=0 
    #记录系统二中股票的单位数
    sys2=0
    #判断操作是对系统一还是系统二,值为‘True’是对系统一,‘False’是对系统二
    short='False'
    #用unit来保存一单位表示多少股票,默认值为1000
    unit=1000
    #记录系统一形成突破时的股票价格
    break_price1=0 
    #记录系统二形成突破时的股票价格
    break_price2=0
    #记录分钟
    minutes=0
    
    #计算股票的N值 
    def Calcu_N(context,paused):
        #在策略运行了days-1天时,计算前days-1天的平均实际范围
        if pdn==days-1:
            #取出day-1天来得最高价,最低价,前一天的收盘价
            price=attribute_history(security,days-1,'1d', ('high','low','pre_close'),skip_paused=True)
            #如果不是所有的这day-1天都没有数据,算出这些天的实际范围的平均值
            TR=[]
            for i in range(0,days-1):
                h_l=price['high'][i]-price['low'][i]
                h_pdc=price['high'][i]-price['pre_close'][i]
                pdc_l=price['pre_close'][i]-price['low'][i]
                temp=max(h_l,h_pdc,pdc_l)
                TR.append(temp)
            ATR=np.mean(np.array(TR))
            N.append(ATR)
    
        #如果策略运行天数已经达到了days天
        else:
            #如果股票停牌,则将运行天数减1
            if paused==True:
                global pdn
                pdn=pdn-1
            #如果未停牌,则利用迭代,计算N值,并保存在列表N中
            else:
                price=attribute_history(security,1,'1d', ('high','low','pre_close'),skip_paused=True)
                h_l=price['high'][0]-price['low'][0]
                h_pdc=price['high'][0]-price['pre_close'][0]
                pdc_l=price['pre_close'][0]-price['low'][0]
                temp=max(h_l,h_pdc,pdc_l)
                TR.append(temp)
                ATR=np.mean(np.array(TR))
                N.append(ATR)
    
    #止损
    def Stop_Loss(current_price):
        #如果对系统一操作,则将突破价设置为系统一的突破价,如果是对系统二,则设置为系统二的
        if short=='True':
            break_price=break_price1
        else:
            break_price=break_price2
        #如果当前价格比上次的突破价低2N,则清空头寸
        #并相应的更改相应系统中的股票单位数
        if current_price<break_price-2*N[-1]:
            if short=='True':
                order(security,-sys1)
                global sys1
                sys1=0  
            else:
                order(security,-sys2)
                global sys2 
                sys2=0
    
    #入市
    def Sys_In(highest,day_in,context,current_price,cash):
        #取出day_in天以来的最高价
        price=attribute_history(security,day_in,'1d',('high','open'))
        #如果当前价格高于day_in天的最高价,则形成突破
        if current_price>max(price['high']) and current_price>=highest:
            #计算可以买的股票数量
            num_of_shares=cash/current_price
            #如果可以买的数量不小于一单位,且目前持有的股票数量未达到限制的数量,则买入
            if num_of_shares>=unit:
                if short=='True':
                    if sys1<int(limit*unit):
                        order(security,+int(unit))
                        #买入后,相应的更新持有的股票数及突破价格
                        global sys1
                        sys1=sys1+int(unit)
                        global break_price1
                        break_price1=current_price
                else:
                    if sys2<int(limit*unit):
                        order(security,+int(unit))
                        global sys2
                        sys2=sys2+int(unit)
                        global break_price2
                        break_price2=current_price
    
    #增加单位    
    def Sys_Add(day_in,context,current_price,cash):
        #根据short的值判断是对哪个系统操作,以对突破价格赋值
        if short=='True':
            break_price=break_price1
        else:
            break_price=break_price2
        #如果当前价格比上次的突破价格高0.5*N,则增加一单位
        if current_price>=break_price+0.5*N[-1]: 
            num_of_shares=cash/current_price
            if num_of_shares>=unit: 
                if short=='True':
                    if sys1<int(limit*unit):
                        order(security,+int(unit))
                        global sys1
                        sys1=sys1+int(unit)
                        global break_price1
                        break_price1=current_price
                else:
                    if sys2<int(limit*unit):
                        order(security,+int(unit))
                        global sys2
                        sys2=sys2+int(unit)
                        global break_price2
                        break_price2=current_price
    
    # 离市
    def Sys_Out(day_out,current_price,context):
        #取出day_out天以来的最低价
        price=attribute_history(security,day_out,'1d',('high','low'),skip_paused=True)
        #如果股票当前价格比day_out天的最低价低,则清空系统内的头寸
        #并将相应系统的头寸数量置为0
        if current_price<min(price['low']):
            if short=='True':
                if sys1>0:
                    order(security,-sys1)
                    global sys1
                    sys1=0
            else:
                if sys2>0:
                    order(security,-sys2)
                    global sys2
                    sys2=0
    
    #每个单位时间(如果按天回测,则每天调用一次,如果按分钟,则每分钟调用一次)调用一次
    def handle_data(context, data):
        global minutes
        minutes=minutes+1
        price=attribute_history(security,minutes,'1m',('high','price','open'),skip_paused=True)
        #取得从今天开盘为止的最高价
        highest=max(price['open'])
        #用paused保存股票是否停牌
        paused=data[security].paused
        #用dt保存当前时间
        dt=context.current_dt
        #保存当前股票价格
        current_price=data[security].price
        #保存资产组合的总值
        value=context.portfolio.portfolio_value
        #在每天开市时将策略运行时间加1
        if dt.hour==9 and dt.minute==30:
            global minutes
            minutes=0
            global pdn 
            pdn=pdn+1
            #在运行时间达到days-1天时计算头寸单位
            if pdn==days-1:
                Calcu_N(context,paused)
        #运行时间达到days天时开始执行各种买卖操作
        if pdn>=days:
            if pdn==days:
                global break_price1
                break_price1=current_price*5+1
            #如果股票不停牌
            if paused==False:
                #取得当前现金
                cash=context.portfolio.cash
                #如果空仓了
                if sys1==0 and sys2==0:
                    #调整资金规模
                    if context.portfolio.portfolio_value<(1-loss)*context.portfolio.starting_cash:
                        cash=adjust*cash
                        value=adjust*value
                #每点价值量(yuan per point)
                ypp=1.0
                #价值量波动性 value volatility
                vv=ypp*N[-1]
                #计算一单位的数量
                global unit
                unit=value*0.01/vv
                #将short置为‘True’,对系统一进行操作
                global short
                short='True'
                #如果系统一没有头寸,并且当前价格比上次的突破价低,入市
                if sys1==0:
                    #入市
                    Sys_In(highest,short_in,context,current_price,ratio*cash)
                #如果已经有了头寸,则进行止损或者增加单位
                else:
                    #止损
                    Stop_Loss(current_price)
                    #增加单位
                    Sys_Add(short_in,context,current_price,ratio*cash)    
                #离市
                Sys_Out(short_out,current_price,context)
                #将short置为‘False’,对系统二进行操作
                global short
                short='False'
                if sys2==0:
                    #入市
                    Sys_In(highest,long_in,context,current_price,(1-ratio)*cash)
                else:
                    Stop_Loss(current_price)
                    Sys_Add(long_in,context,current_price,(1-ratio)*cash)
                #离市
                Sys_Out(long_out,current_price,context)   

    这里写图片描述

    这里写图片描述

    展开全文
  • 交易系统的核心内涵

    2020-04-23 11:18:47
    01、良好的交易系统 交易的秘密就是找到一套适合你的交易系统。这个交易系统是非机械的,适合你自己个性的,有...交易系统是完整的交易规则体系。一套设计良好的交易系统,必须对投资决策的各个相关环节作出相应...
  • 著名的交易大师理查德·丹尼斯想弄清伟大的交易员是天生造就的还是后天培养的,为此,在1983年他招募了13个人,教授给他们期货交易的基本概念,以及他自己的交易方法和原则,学员们被称为“海龟”。 这成为交易史上...
  • 期货交易系统的基本结构

    多人点赞 2020-12-11 10:52:55
    一套完整的 期货交易系统,除了要有交易功能,还要有分仓风控功能。 后台管理系统必须包含以下模块:系统设置、交易管理、账号管理、财务管理、柜员管理。 交易端包含PC交易端、安卓app、苹果app。其中app的止损止盈...
  • 何为“系统”,从system这一英语单词来看...真正的“器”首先是你在脑子里的知识,再来是你的交易系统的设计,构建,优化以及回测。事实上和任何一个发明一样,一个好的发明必然是一个完整,相互嵌合的一套系统。著名的
  • vn.py项目起源于国内私募的自主交易系统,2015年初启动时只是单纯的交易API接口的Python封装。随着业内关注度的上升和社区不断的贡献,目前已经一步步成长为一套全面的交易程序开发框架,用户群体也日渐多样化,包括...
  • 海龟交易系统源码

    2015-07-30 03:12:00
    一套完整的机械的交易系统都有明确并且唯一的交易信号,例如两条均线就构成了一个交易系统,只不过它更好的说  海龟交易系统相对而言是一个比较早的交易系统了,也是世界著名的机械交易系统,对于想学习程序化...
  • 后台sql server 界面采用c#设计。一套完整的数据库设计,包括论文
  • 一套完整的港美股软件,有三大板块,1.开户端口2.行情端口.3.后台管理系统 开户端口:用手机号注册,获取验证码之后,填入验证码,即可注册开户,简单 2.行情端口展示图 3.后台管理系统展示图 数字化管理,券商...
  • 数字币交易所系统是基于Web版本的B/S交易平台,系统采用自主研发框架,被广泛应用在数字货币和公司股权的交易中,系统根据各客户的需求和行业特点已发展一套完整的功能。系统支持多种语言间快速切换、支持多种货币...
  • 很多客户其实都很在意开发成本,我们知道一套成熟的股票配资系统能够给平台带来不少利润,而搭建一套完整的股票配资系统需要根据一些软件功能来定价。 开发一套股票配资系统的价格主要是由几方面的因素决定来决定:...
  • 交易撮合系统一套买卖信息沟通的平台,为您提供了一个完整的商品供应、商品需求的信息管理解决方案。交易撮合系统除了提供商品的供需信息,还提供的商品展示等功能。后台提供了用户管理、商品管理、帖子管理、文章...
  • 交易撮合系统jsp+mysql

    2010-04-21 14:09:20
    交易撮合系统一套买卖信息沟通的平台,为您提供了一个完整的商品供应、商品需求的信息管理解决方案。交易撮合系统除了提供商品的供需信息,还提供的商品展示等功能。后台提供了用户管理、商品管理、帖子管理、文章...
  • 海龟交易法则(中译文)

    千次阅读 2018-07-06 21:46:20
    完整的交易系统一套完整交易系统的成分市场头寸规模入市止损离市策略摘要 第二章 市场 第三章 头寸规模波动性—-N的含意价值量波动性调整单位范例头寸规模的重要性用单位度量风险 第四章 入市突破增加单位...
  • 系统采用JSP/servlet技术,是使用Java编程语言编写的一套校园网二手交易平台软件。系统采用是最近几年流行B/S开发模式,以互联网方式运行,服务器端只需要安装本系统,而客户端用户只要可以上网,就可以非常...
  • 摘 要本系统采用JSP/servlet技术,是使用Java编程语言编写的一套校园网二手交易平台软件。系统采用是最近几年流行B/S开发模式,以互联网方式运行,服务器端只需要安装本系统,而客户端用户只要可以上网,就可以...
  • 房地产信息管理系统一套功能强大通用性极强房产管理软件,软件界面设计简洁,美观,其人性化软件流程,使普通用户不需培训也能快速掌握软件操作使用方法,上手极易。软件支持外部EXCEL表数据导入各种数据,也...
  • 写在前面: 这段时间一直都在看一些机器学习方面的内容,其中又花了不少时间在推荐系统这块,然后自己做了一套简单的推荐系统,但是跑下来的结果总...数据不完整,目前能拿到的数据也就是ERP里面的交易数据和各种主...
  • 它是一套非常完整的趋势跟随型的自动化交易策略,具备一个完整的交易系统的所有成分。.这个复杂的策略在入场条件、仓位控制、资金管理、止损止盈等各个环节,都进行了详细的设计,它基本上可以作为复杂交易策略设计...
  • 这需要做好二个阶段工作:在正常事务处理过程中,交易中间件在稳定存储器中完整记录事务恢复时必要信息;在事务恢复阶段,恢复系统根据稳定存储器中记录事务相关信息恢复事务。本文就对该系统进行讲解。 ...
  • 最终目标是开发一套软件包,实现者可以从中挑选出他需要东西。 比特币 Stratis.Bitcoin.Core-运行修剪节点最低要求。 Stratis.Bitcoin.Store-存储块并将其中继到同级。 Stratis.Bitcoin.MemoryPool-跟踪...
  • 配置支付宝网关系统有必要,该支付模式更加稳定安全高效,所以搭建一套完整升级版支付宝网关非常重要。 支持网银直连多家银行,原生在线网银支付接口。 商户管理、交易管理、通道管理、账号管理、自动轮询、PC端...
  • 为什么要自建量化交易平台?

    千次阅读 2017-04-16 22:27:56
    量化交易平台概述  量化交易是指借助现代统计学和数学的方法,利用... 这里的平台是指一套完整的服务于研制量化交易策略的开发支持环境。它通过选择合适的技术体系和技术架构,有效地缩短策略开发的时间和降低策略
  • 什么是容灾  首先来梳理下什么是系统容灾。 互联网上容灾的概念解释很多,我们来看看百度百科里的解释: ...从其对系统的保护程度来...应用容灾是在数据容灾的基础上,在异地建立一套完整的与本地生产系统相当的备

空空如也

空空如也

1 2 3 4 5
收藏数 94
精华内容 37
关键字:

一套完整的交易系统