量化交易 第二课 平台介绍

RiceQuant是一个云端量化交易平台,提供便捷的策略开发及回测功能。用户可通过该平台轻松实现交易策略的编写与验证,支持指定回测周期、初始资金及运行频率等设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

RiceQuant 是一个云端的框架, 可以帮助我们随时, 随地的开发袭击的交易策略, 验证资金的投资思路.

在这里插入图片描述
RiceQuant 的回测系统简单好用, 所以在接下来的学习当中, 我们会使用这个平台来讲解.

回测框架

肯定有很多朋友好奇为什么我们不自己实现一个回测框架.

原因有三:

  1. 没有完整的股票行情和基本面数据
  2. 回测平台是载体, 重点在于快速验证策略
  3. 证券投资机构各自使用的回测框架不同, 没用通用的框架

RiceQuant 平台介绍

在这里插入图片描述
网址: https://www.ricequant.com/welcome/

注册

注册我就不多赘述了, 小伙伴们请自行完成.

创建策略

首先我们先点击进入平台, 如图:
在这里插入图片描述
然后我们点击新建策略, 如图:
在这里插入图片描述
在新建策略中我们点击代码策略, 如图:
在这里插入图片描述
在策略名称中我们填入 “我的第一个策略”, 如图:
在这里插入图片描述

策略页面功能介绍

策略页面的样子:
在这里插入图片描述
各个区块的功能:
在这里插入图片描述

如何完成一个策略

选择策略的运行信息:

  • 选择运行区间和初始资金
  • 选择回测频率
  • 选择股票池

编写策略的逻辑:

  • 获取股票行情, 基本面数据
  • 选择哪些股票, 以及交易时间

分析结构

  • 策略指标分析

策略初始设置

基础设置:指定回测起止日期, 初始资金以及回测频率

  • 起止日期: 策略运行的时间区间
  • 初始资金: 用于投资的总资金
  • 回测的频率: 有两种选择, 日回测 / 分钟回测. 做股票量化选择日回测即可

策略主体运行流程分析

在 init 方法中实现策略初始化逻辑

  • 策略的股票池: 在那些股票中进行交易判断 (例如: HS300)

在 before_trading 方法中进行一些每日看盘之前的操作. 比如获取历史行情做一些数据预处理, 获取当前账户资金等.

在 handle_bar 方法中实现策略具体逻辑, 包括交易型号的产生, 订单的创建. handle_ bar 内的逻辑会在每次 bar 数据更新的时候被触发.
在这里插入图片描述
运行顺序:

  1. int
  2. before_trading
  3. handle_bar

注: 以上方法都具有一个 context 对象, 用于函数之间的内容传递.

小白量化学习-自创指标设计 一、准备工作 1、首先把“HP_formula.py”文件复制到自己的工程目录中。 2、在新文件开始增加下面4条语句。 import numpy as np import pandas as pd from HP_formula import * import tushare as ts 二、对数据预处理 我们采用与tushare旧股票数据格式。 #首先要对数据预处理 df = ts.get_k_data('600080',ktype='D') mydf=df.copy() CLOSE=mydf['close'] LOW=mydf['low'] HIGH=mydf['high'] OPEN=mydf['open'] VOL=mydf['volume'] C=mydf['close'] L=mydf['low'] H=mydf['high'] O=mydf['open'] V=mydf['volume'] 三、仿通达信或大智慧公式 通达信公式转为python公式的过程。 1.‘:=’为赋值语句,用程序替换‘:=’为python的赋值命令‘='。 2.‘:’为公式的赋值带输出画线命令,再替换‘:’为‘=’,‘:’前为输出变量,顺序写到return 返回参数中。 3.全部命令转为英文大写。 4.删除绘图格式命令。 5.删除掉每行未分号; 。 6.参数可写到函数参数表中.例如: def KDJ(N=9, M1=3, M2=3): 例如通达信 KDJ指标公式描述如下。 参数表 N:=9, M1:=3, M2:=3 RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:SMA(RSV,M1,1); D:SMA(K,M2,1); J:3*K-2*D; # Python的KDJ公式 def KDJ(N=9, M1=3, M2=3): RSV = (CLOSE - LLV(LOW, N)) / (HHV(HIGH, N) - LLV(LOW, N)) * 100 K = SMA(RSV,M1,1) D = SMA(K,M2,1) J = 3*K-2*D return K, D, J #----------------------------------- #根据上面原理,我们把大智慧RSI指标改 # 为Python代码,如下。 def RSI(N1=6, N2=12, N3=24): """ RSI 相对强弱指标 """ LC = REF(CLOSE, 1) RSI1 = SMA(MAX(CLOSE - LC, 0), N1, 1) / SMA(ABS(CLOSE - LC), N1, 1) * 100 RSI2 = SMA(MAX(CLOSE - LC, 0), N2, 1) / SMA(ABS(CLOSE - LC), N2, 1) * 100 RSI3 = SMA(MAX(CLOSE - LC, 0), N3, 1) / SMA(ABS(CLOSE - LC), N3, 1) * 100 return RSI1, RSI2, RSI3 四、使用公式并绘图 #假定我们使用RSI指标 r1,r2,r3=RSI() mydf = mydf.join(pd.Series( r1,name='RSI1')) mydf = mydf.join(pd.Series( r2,name='RSI2')) mydf = mydf.join(pd.Series( r3,name='RSI3')) mydf['S80']=80 #增加上轨80轨迹线 mydf['X20']=20 #增加下轨20轨迹线 mydf=mydf.tail(100) #显示最后100条数据线 #下面是绘线语句 mydf.S80.plot.line() mydf.X20.plot.line() mydf.RSI1.plot.line(legend=True) mydf.RSI2.plot.line(legend=True) mydf.RSI2.plot.line(legend=True) 不懂就看我的博客 https://blog.csdn.net/hepu8/article/details/93378543
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值