金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1989|回复: 5

PYTHON引入代码求助

[复制链接]

144

主题

410

帖子

410

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
发表于 2022-7-3 11:19 | 显示全部楼层 |阅读模式
从VN。PY社区下载了代码,请问用于金字塔,如何改?部分源码如下:


from datetime import time
​import numpy as np
​from vnpy.app.cta_strategy import (   
    CtaTemplate,   
    BarGenerator,   
    ArrayManager,   
    OrderData,   
    TradeData,   
    StopOrder)
from vnpy.trader.object import (   
    BarData,   
    TickData
)
​class RsjStrategy(CtaTemplate):   
    """"""   
    author = "Bili"
   





补充内容 (2022-7-3 11:20):
from vnpy.app.cta_strategy import (   

补充内容 (2022-7-3 11:20):
from datetime import time
import numpy as np
from vnpy.app.cta_strategy import (   
    CtaTemplate,   
    BarGenerator,   
    ArrayManager,   
    OrderData,   
    TradeData,   
    StopOrder)
from vnpy.trader.object import (   
    BarData,   
    TickData
)
class RsjStrategy(CtaTemplate):   
    """"""   
    author = "Bili"
   


补充内容 (2022-7-3 11:21):
请看最后,前面被翻译,错了

补充内容 (2022-7-3 20:24):

策略原理
RV计算公式
高频已实现波动率(Realized Volatility)是一种根据高频数据(这里指的是日内分钟线级别的数据,而非Tick级别数据)计算的日内波动率指标,该指标的计算公式为:

RSJ计算公式
由 Bollerslev 等作者(相关论文请参考研报PDF中的内容)研究的【好】与【坏】的波动率,是在RV的基础上将其分解为单独的上涨(好)和下跌(坏)两种情形下的波动率度量。将波动率分解为【好】波动和【坏】波动后,可以基于其相对的差值,去度量日内价格波动的不对称性(RSJ),该指标的计算公式为:


回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-7-3 12:18 | 显示全部楼层
建议你直接看软件里自带的范例,vnpy和金字塔架构完全不一样
你上面的代码许多都是自己做数据切片的动作,而这些程序在金字塔中是由软件内部都做好的

你在金字塔中只需要关注策略部分即可,数据以及下单动作直接调用软件提供的api接口
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

144

主题

410

帖子

410

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2022-7-3 20:28 | 显示全部楼层
请教老师在PEL中如何求出来?Python中有源代码,我不懂,能否请老师给出PEL计算方法。

补充内容 (2022-7-3 20:31):
价格波动率中有一部分代码,和这个十分接近了,就是下面这部分,请问如何实现两张图片中的计算
INPUT:N(60,1,300,1),M(120,1,300,1);
RDR:=LN(C/REF(C,1));
VR:STD(RDR,N)*100;
VRMA:MA(VR,M);

补充内容 (2022-7-3 20:32):
INPUT:N(60,1,300,1),M(120,1,300,1);
RDR:=LN(C/REF(C,1));
VR:STD(RDR,N)*100;
VRMA:MA(VR,M);

补充内容 (2022-7-3 20:35):
上面代码是求历史波动率的,下面两张图是求非对称波动率的,能用PEL实现就好了,我也不用费尽心机去翻译python了.
截图202207032026041951.png
截图202207032026217745.png
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-7-3 21:35 | 显示全部楼层
有直接函数计算历史波动率
用法:
VOLATILITY(N,Code);取N个周期样本统计Code品种的价格历史波动率。
Code可以忽略,则函数形式为VOLATILITY(N),表示统计当前商品的当前周期的历史波动率。


例如:
VOLATILITY(50,'SH000001'),表示上证指数日线50周期历史波动率。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2022-7-3 21:40 | 显示全部楼层
这个小r是什么呢
如果是求RDR:=LN(C/REF(C,1));这个求和
直接sum(rdr,60)这种就是求60收益率求和
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

144

主题

410

帖子

410

积分

Rank: 4

等级: 专业版

注册:
2021-8-3
曾用名:
 楼主| 发表于 2022-7-3 23:01 | 显示全部楼层
感谢老师动用周末时间为我解答,R应该是收益率,我还是用PEL一步一步算吧,感觉PEL也能解决,就是麻烦,我再试试看,谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-11-10 07:20 , Processed in 0.274752 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表