量化PyTester

PyTester

前言

使用Python代码编写策略, 容易阅读, 但是运行速度即不高

但Pytester却能达到C语言级别的运行速度

对比其它量化策略, 上来就一大堆初始化代码. Pytester去除难以理解的冗余部分,达到变态般的简洁

后面讲的一些方法, 目前(2022)为止, 互联网上Pytester是第一家使用

地址: www.pytester.com

安全

并非像其它平台, 策略加密传至服务器后台, 解密后再运行, 其实就是裸奔

Pytester策略代码跟根不会上传到服务器

自带策略

Pytester自带的展示策略,是搜罗全网的优秀算法. 和课本上经典算法的集合

会不断叠代进化,与时俱进

教程

双均策略

一行代码搞定

onTick = g.MA(10) - g.MA(30)			#金叉买入,死叉卖出

g是什么玩意?

策略(strategy)的缩写成g

它可以取出指标:

用法说明
x=g.MA(N)均线
x = g.EMA(N)指数均线
x = g.K()KDJ的K
x = g.D()KDJ的D
dif, dem, macd = g.MACD()MACD
ma, up, down = g.BOLL()BOLL
up, ene, down = g.ENE()ENE
x = g.Ind()新建空指标, 用x.append(x)填充数值
x=g.Ind(g.MA(10) + g.MA(20))指标相加,组成新指标

名称和参数,保持与手机同花顺相同

指标怎么用的?

ma=g.MA(30)
def onTick():
    print("昨天和今天的数据: ", ma[-2], ma[-1])

onTick又是什么玩意?

故名思意, 每一个K线周期会调用一次onTick.

如双均线策略

写法一

这样写, 不用每次都调用python的onTick()代码, 而直接调用编译好的机器码, 就能达到C语言级别速度

互联网上, 到2022年为止, Pytester是第一家使用这样的格式

onTick = g.MA(40) - g.MA(100)
另一种写法

效果与上面相同

这样写, 每次都调用python的onTick()代码, 所以达不到C语言运行速度.

但是由于底层并非python, 所以仍然比纯python快两倍左右

ma40 = g.MA(40)
ma100 =  g.MA(100)
def onTick():
    if ma40[-1] - ma100[-1] > 0:
        return 1                # 持仓
    else:
        return -1                # 空仓
show = (ma40, ma100),
返回持仓和空仓

使用onTick()的返回值,决定持仓空仓

非用order()或context.buy()等函数来标记买入点和卖出

onTick()返回值意义如下:

大于0变成并保持持仓状态
小于0变成并保持空仓状态
等于0忽略

注意

 这里的持仓并非买点,空仓并非卖点。而是仓位的状态

互联网上, 到2022年为止, Pytester是第一家使用这样的格式

onLast是什么鬼?

故名思意, 所有数据计算完成后, 最后调用一次

onTick=g.CLOSE() - g.MA(60)
def onLast():
    ret = g.profit()
    return ('资产', ret.money,
            '天数', ret.days,
            '赢利', ret.last_win,
            '次数', ret.trade_cnt,
            '回撤', ret.max_loss,
            '赔率', ret.odds)

show

画图

把a画到第一窗口,b画到第二窗口,c画到第三窗口

互联网上, 到2022年为止, Pytester是第一家使用这样的格式

格式如下:

show = (a, b, c)

如:

show = (g.MA(), g.EMA(), g.BOLL()), (g.K(), g.D()), g.MACD()
# 第一窗口: MA, EMA, BOLL
# 第二窗口: K, D
# 第三窗口: MACD
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值