ptrade从零开始学习量化交易第16期【ptrade策略API介绍之set_slippage-设置滑点】

设置函数

更加详细的调用方法,后续会慢慢整理。

也可找寻博主历史文章,搜索关键词使用方案,比如本文涉及函数set_slippage!

感谢关注,咨询免费开通量化回测与获取实盘权限,欢迎和博主联系!

set_slippage-设置滑点

set_slippage(slippage=0.001)
使用场景

该函数仅在回测模块可用

接口说明

该函数用于设置滑点比例,滑点在真实交易场景是不可避免的,因此回测中设置合理的滑点有利于让回测逼近真实场景。

注意事项:

参数

slippage:滑点比例,委托价格与最后的成交价格的价差设置,这个价差是当时价格的一个百分比(比如设置0.002时,撮合成交时委托价格±当前周期价格*0.001)。最终成交价格=委托价格±委托价格*float(slippage)/2。

返回

None

示例
def initialize(context):
    g.security = "600570.SS"
    set_universe(g.security)
    # 将滑点设置为0.002
    set_slippage(slippage=0.002)

def handle_data(context, data):
    pass

 

以下是一个简单的适用于joinquant的双均线策略代码,仅供参考: ```python # 导入相应的库 import jqdata import talib import numpy as np # 初始化函数,设定要操作的证券、基准等等 def initialize(context): # 设定基准 set_benchmark('000300.XSHG') # 设定滑点、手续费 set_slippage(FixedSlippage(0.02)) set_commission(PerTrade(buy_cost=0.0003, sell_cost=0.0003, min_cost=5)) # 设定股票池 g.stocks = ['000001.XSHE', '600036.XSHG', '601398.XSHG'] # 设定短和长均线的时间窗口 g.short_ma = 10 g.long_ma = 60 # 设定交易频率 run_daily(trade, 'open') # 交易函数 def trade(context): # 获取股票池中的所有股票 stocks = g.stocks # 循环遍历股票池中的所有股票 for stock in stocks: # 获取当前股票的收盘价 prices = attribute_history(stock, g.long_ma, '1d', ['close']) # 计算短和长均线 short_ma = talib.MA(prices['close'], timeperiod=g.short_ma) long_ma = talib.MA(prices['close'], timeperiod=g.long_ma) # 获取当前股票的最新收盘价 current_price = prices['close'][-1] # 如果短均线上穿长均线,则买入该股票 if short_ma[-1] > long_ma[-1] and short_ma[-2] <= long_ma[-2]: order_value(stock, context.portfolio.cash) # 如果短均线下穿长均线,则卖出该股票 elif short_ma[-1] < long_ma[-1] and short_ma[-2] >= long_ma[-2]: order_target(stock, 0) ``` 上述代码实现了一个简单的双均线策略,当短均线上穿长均线时,买入该股票,当短均线下穿长均线时,卖出该股票。具体策略的优化和调整需要根据实际情况进行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值