简单回测-api使用

还在学习python中,这次用api提取数据并进行简单的策略回测,代码还在优化中。。。

from huobi.client.generic import *
from huobi.client.market import *
from huobi.constant.definition import *


# 取数据
market_client = MarketClient()
# 三倍做多
list_obj_l = market_client.get_candlestick("eth3lusdt", CandlestickInterval.MIN1, 2000)
# 三倍做空
list_obj_s = market_client.get_candlestick("eth3susdt", CandlestickInterval.MIN1, 2000)
list_close_eth3l = []
list_close_eth3s = []
for i in range(len(list_obj_l)) :
    l = list_obj_l[i].close
    s = list_obj_s[i].close
    list_close_eth3l.append(l)
    list_close_eth3s.append(s)
# print(list_close_eth3l)
# print(list_close_eth3s)

import pandas as pd
# 设置参数
trade_rate = 2.5 / 1000  # 千分之2.5的交易费用远高于市场平均水平
momentum = 1  # 计算多少天的涨跌幅
df = pd.DataFrame({'eth3l': list_close_eth3l,'eth3s': list_close_eth3s})

# 计算N日的涨跌幅momentum
df['mom_eth3l'] = df['eth3l'].pct_change(periods=momentum)
df['mom_eth3s'] = df['eth3s'].pct_change(periods=momentum)

# 轮动条件
df.loc[df['mom_eth3l'] > df['mom_eth3s'], 'style'] = 'eth3l'
df.loc[df['mom_eth3l'] < df['mom_eth3s'], 'style'] = 'eth3s'
df.loc[(df['mom_eth3l'] < 0.003) & (df['mom_eth3s'] < 0.003), 'style'] = 'empty'
# 相等时维持原来的仓位。
df['style'].fillna(method='ffill', inplace=True)
# 收盘才能确定风格,实际的持仓pos要晚一天。
df['pos'] = df['style'].shift(1)
# 删除持仓为nan的天数
df.dropna(subset=['pos'], inplace=True)
# 计算策略的整体涨跌幅strategy_pct
df.loc[df['pos'] == 'eth3l', 'strategy_pct'] = df['mom_eth3l']
df.loc[df['pos'] == 'eth3s', 'strategy_pct'] = df['mom_eth3l']
df.loc[df['pos'] == 'empty', 'strategy_pct'] = 0
df['strategy_net'] = (1 + df['strategy_pct']).cumprod()
print(df.tail(10))
df.to_csv('数字货币轮动_改进.csv', encoding='gbk', index=False)
print(df)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
1 WINDPY接口说明 ................................................................................................. 1 1.1 WINDPY接口概述 ............................................................................................... 1 1.2 WINDPY接口安装 ............................................................................................... 2 1.2.1 WindPy对系统环境要求 ............................................................... 2 1.2.2 Python环境安装 .......................................................................... 2 1.2.3 正常WindPy接口安装 .................................................................. 3 1.2.4 特殊安装WindPy方式 .................................................................. 6 1.3 接口向导界面 ..................................................................................................... 6 1.4 WINDPY获取帮助途径 ....................................................................................... 7 1.4.1 本用户手册 .................................................................................... 7 1.4.2 量化交易群和R语言交流群 ........................................................... 7 1.5 WINDPY接口相关规范 ....................................................................................... 1 1.5.1 以下所有命令都有如下假设 ........................................................... 1 1.5.2 命令区分大小写,且“w.”不能省略 ............................................... 1 1.5.3 中文以及单字节码和双字节码的问题 ............................................. 1 1.5.4 品种、指标、参数等引号内的部分不区分大小写 ........................... 1 1.5.5 参数支持list输入 ...................................................................... 1 1.5.6 时间、日期支持Python语言的时间、日期格式 ........................... 2 1.5.7 参数中有缺省值的可以不用输入 .................................................... 2 1.5.8 可以带参数名输入 ......................................................................... 2 精于数据,一直进步 IV 1.5.9 Showblank参数 ........................................................................... 3 1.5.10 交易接口中Showfields参数................................................ 3 1.5.11 ErrorCode定义 .................................................................... 3 2 WIND PY插件命令说明 ....................................................................................... 1 2.1 FROM WINDPY IMPORT *:装载WINDPY包 ..................................................... 1 2.2 W.START:启动WINDPY ..................................................................................... 1 2.3 W.STOP:停止WINDPY ....................................................................................... 2 2.4 W.ISCONNECTED:判断是否已经登录 .............................................................. 2 2.5 W.CANCELREQUEST:取消订阅 .......................................................................... 2 2.6 W.WSD:获取历史序列数据 .............................................................................. 3 2.7 W.WSI:获取分钟数据 ...................................................................................... 3 2.8 W.WST:获取日内TICK级别数据 .................................................................... 4 2.9 W.WSS:获历史截面数据 .................................................................................. 5 2.10 W.WSQ:获取和订阅实时行情数据 ................................................................. 5 2.11 W.WSET:获取板块、指数等成分数据 ........................................................... 6 2.12 W.WEQS:获取条件选股结果 ............................................................................ 7 2.13 W.WPF:获取资产管理、组合管理数据 ......................................................... 7 2.14 交易相关函数 ..................................................................................................... 8 2.14.1 w.tlogon交易登录 ............................................................... 8 2.14.2 w.tlogout交易登出 ............................................................. 9 2.14.3 w.torder委托下单 ............................................................. 10 2.14.4 w.tcancel撤销委托 ........................................................... 11 精于数据,一直进步 V 2.14.5 w.tquery交易查询 ............................................................. 12 2.15 W.TDAYS, W.TDAYSOFFSET,W.TDAYSCOUNT:日期函数 ............................... 14 2.15.1 w.tdays:返回区间内的日期序列 ....................................... 14 2.15.2 w.tdaysoffset:返回某个偏移值对应的日期 ................... 14 2.15.3 w.tdayscount:返回某个区间内日期数量 ......................... 15 3 WINPY插件函数体说明........................................................................................ 1 3.1 日期序列(WSD)................................................................................................. 1 3.2 历史截面数据(WSS) ........................................................................................ 3 3.3 分钟序列(WSI)................................................................................................. 3 3.4 日内跳价(WST)................................................................................................. 4 3.5 实时数据(WSQ)................................................................................................. 5 3.6 数据集(WSET) ..............................................

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值