wr期货指标:Pomelo搭建交易系统实战

股票学习网 发布:2021-10-02 12:25:36 阅读:33次

前言

Pomelo是由网易开发的一套高度自由的开源Node.js服务器框架,最初为解决游戏开发领域的高并发、实时性所设计,对外提供了大量的API和工具库,使得服务器的定制化和扩展更加方便;但Pomelo并不仅仅应用于游戏行业,本文将使用其搭建一套简易的股票/期货交易系统服务器,以进一步探秘Pomelo的特性和使用方法。

Pomelo于2012年开源推出,目前已更新至2.2.5版本,令人兴奋的是新版本升级了socket.io库和rpc,修复了一些心跳及消息推送的bug,提高了框架的整体性能和稳定性;本文无特殊说明均以最新版本为基础进行构建。

股票/期货交易系统总体设计

本文主要针对Pomelo框架及其使用进行探秘,具体的金融交易策略和量化模型为金融范畴,不在本文阐述范围之内。

整个系统应包括以下模块:

交易登陆系统

行情数据源SDK

数据处理系统(对数据按时间周期或分时进行切片处理等)

指标拟合系统(输出量化指标,如均线、量能、MACD、KDJ、WR、波浪)

模型回测系统(如以年、月、周为单位回测成功比率)

预警系统

下单系统(完成买进卖出、平仓、止损)

针对上述模块,我们使用pomelo设计如下图架构,依照官方推荐,我们将Servers分为 Frontend-Servers 和 Backend-Servers,同时由于登陆操作较少,我们直接将登陆服务器组设置为Frontend-Servers;数据库选型为mysql,用以存储用户及交易数据,这里我们引入Nodejs的 generic-pool 创建连接池;行情源数据来自三方SDK。

初始化

使用pomelo init命令建立工程后,我们的目录结构大致如下:

app.js是入口文件,app.start() 即可启动服务器;pomelo内部采用了挂载组件的方式启动各个模块/组件,这样可以更加灵活的扩展功能;从源码可以看出,pomelo大部分模块均挂载在Pomelo变量下,同时对外提供了工厂函数 createApp,会实例化一个Application对象,Application维护了 servers 和 components等,源码如下:

Pomelo对底层通讯协议(ws、socket.io等)进行了很好的封装,统一放在 connectors 下,本文使用 hybridconnector ,如果采用web客户端可选用 sioconnector 。

登陆

本文将登陆服作为独立的一组服前端务器设计,为简单起见,clients向登陆服发送相关信息(name、password等)后,登陆服会进行校验,校验成功后会返回给clients一个token和connectors的ip及port,此时clients便可以使用token与交易系统通讯了。

由于login-server为Frontend-server,我们只需要创建handler作为对外接口。

4、巴菲特的“滚雪球”理论

5、索罗斯的“反身理论”

6、海龟理论

二、投资市场

1、数字货币市场

(1)主流币的基本介绍与发展方向

(2)过去与未来的趋势变化,从价格大趋势分析未来的投资机会

(3)未来的潜力币种

2、股票市场

(1)A股的未来投资方向与入场时机

(2)美股、港股能否继续投资与股票推荐

(3)股票市场未来几年可能出现的投资机会

3、期货、期权市场

(1)如何正确玩转期货与期权

(2)如何利用期货与期权放大投资收益

(3)期货与期权市场的那些坑

4、黄金市场

(1)投资黄金的正确知识

(2)投资黄金该选择什么方式

(3)未来黄金的投资机会

三、技术指标

1、大周期指标

(1)波浪理论

(2)江恩理论

(3)斐波那契理论

对四周规则的修正

我们对四周规则的讨论是对其原形展开的,不过,它也具备许多种修正和改进形式。首先,我们并不是非得把本规则运用于交易系统不可。我们也可以把周规则的信号简单地看作一种技术指标,由之来辨识价格突破、趋势反转等信号。周规则的突破信号也可以辅助其它技术,比如移动平均线等,起到与过滤器类似的验证作用。一周和二周规则便是极佳的过滤器。因此,当移动平均线的交易信号出现后,为了确定是否依照这个信号开立头寸我们必须根据二周规则,考察在其相同方向是否也有两周规则的突破信号。

周规则可以优化

我们可以针对不同的市场,调整周规则的时间跨度。我们并不是对每个市场都机械地使用四周规则,而是具体市场具体分析。在《美林公司商品研究报告》「自动化交易技术」一文中,对各种周规则的突破信号也进行了广泛的研究。其中对每个市场,都得出了相应的优化的周规则。此外,在这篇文章中还提出,通过改变每周结束的日子,系统的成绩可以进一步改善。例如,据该报告称,在糖期货市场,最好采用五周规则,并且把每周的结束日人为地规定为星期四。在大豆市场,最佳的选择是两周规则,并把星期一人为规定为每周的最末一天。在更早的美林公司的研究中,还对日间突破(「日规则」)的各种天数进行了检测。

根据灵敏度要求调整时间跨度

根据风险管理和灵敏度的具体需要,我们可以相应地扩大或缩短周规则的时间跨度。举例来说,如果我们要求系统更灵敏,则可以缩短时间跨度。当市场急剧上升,从而价格相对地处于「高处不胜寒」的境地的时候,我们就可以缩短时间跨度,使系统更灵敏。假定我们已经根据四周规则的向上突破信号,建立了一个多头头寸,那么,就可以把保护性止损点设置在过去两周的最低价的下方。如果随后市场急剧上冲,交易商试图采用更紧凑的保护性止损方法来监控该多头头寸的话,那么还可以选用一周规则来设置止损点。

当市场处于横向伸展的情形时,那些因趋势而动的交易者袖手旁观,专心等待重要趋势信号的出现,那么这时,就可以把时间跨度扩张到八周。这样,就能够避免开立短线的头寸,免得陷足于时机不成熟的趋势信号中。

把四周规则与周期联系起来

在期货市场上,以日为长度单位的周期具有重要意义。在所有的市场上,为时四周(或20天)的周期都是极为显著的。这或许说明了利用四周这种时间区间为何如此成功。它可能是最佳的时间跨度。请注意,我们也曾提及一周、二周以及八周规则。根据周期分析中的谐波理论,每个周期都与它相邻的周期成倍数关系(上一级周期是其2倍,下一级周期是其1/2)。

wr期货指标:Pomelo搭建交易系统实战所属专题: 期货指标专题   本文《wr期货指标:Pomelo搭建交易系统实战》链接:http://www.gzhwuliu.cn/30537/
回顶部