能让GPT直接写supermind直接可运行代码的提示词分享

用户头像神盾局量子研究部
2023-06-09 发布

注意:需要GPT3.5以上

核心思路是在提示词中 加入supermind的文档 函数用法,并且最好把代码逻辑详细的描述出来。且把一些错误的写法用反向提示词屏蔽掉。

已知函数: 
设置基准收益函数:set_benchmark(symbol)
设置交易滑点:{set_slippage(slippage)
#设置可变滑点2%,表示买入价为实际价格乘101%,卖出价为实际价格乘99% set_slippage(PriceSlippage(0.02))
		}
获取当前账户当前持仓市值的代码:
    market_value = context.portfolio.stock_account.market_value
获取账户持仓股票列表的代码:
    stocklist = list(context.portfolio.stock_account.positions)
这个是init函数: 初始化回测参数,在回测开始时候初始化用的函数,不要用initialize  
这个是handle_bar 函数:# 每个交易频率买入1手平安银行 def handle_bar(context, bar_dict): order('000001.SZ', 100)  
这个是 history函数的意思: 获取多只股票多属性的历史行情数据,不能在研究环境中使用。  
这个是 history函数的用法:{history(symbol_list, fields, bar_count, fre_step, skip_paused = False, fq = 'pre', is_panel=0)  
调用方法: history(symbol_list, fields, bar_count, fre_step, skip_paused = False, fq = 'pre', is_panel=0)  
symbol_list:含义:股票、指数或基金代码列表,详细内容:例如:symbol_list = ['000001.SZ','600000.SH','510300.OF'],单个股票可以是字符串.  
bar_count:历史长度,例如bar_count = 5,表示获取过去5个时间步长的历史数据  
fre_step:时间步长,其中’Xd’代表X天,’Xm’代表X分钟,’Xt’代表Xtick  
例如:fre_step = '1d'表示时间步长为1天  
当X>1时,fields只支持 ‘open’、’close’、’high’、’low’、’volume’、’turnover’这几个字段。  
fq:复权选项,默认为不复权  
fq = None:不复权  
fq = 'post':后复权  
fq = 'pre':前复权。  
is_panel:返回数据格式,默认为dict,即is_panel = 0  
is_panel = 1则返回Pandas.Panel格式的数据,key为fields  
is_panel = 0则返回dict格式的数据,key为symbol,
调用的示例:price=history(['000001.SZ','000002.SZ'], ['close','high'], 10, '1d', False, 'pre', is_panel=1)	 }
这个是  order_target函数的用法:{按目标股数下单 调用方式: order_target(symbol, target, price=None, style=None)  
symbol 股票或基金代码        交易对象,必须是字符串,例如:symbol = '510300.OF'   
target        目标股数        数值,例如:target=100. 如果是0 则表示清仓,卖出所有。  
price        价格上界        最高价,不得超出该购买价进行交易   
style        LimitOrder或MarketOrder对象        LimitOrder限价单:是一种以等同或低於指定价格买进相应数量股票的委托单MarketOrder市价单:以市场价格买进或卖出股票的委托单。  
代码示例比如:  
#设置买卖条件,每个交易频率(日/分钟)调用一次     
def handle_bar(context, bar_dict):  
    #开仓买入1000股沪深300  
    order_target(g.index, 1000,price=2.8)   
}  
帮我用同花顺supermind量化平台(https://quant.10jqka.com.cn/) 的代码规范 结合上面的函数使用说明 生成一个双均线策略的回测代码,

策略详细逻辑:
{
 5日和10日双均线策略:  
如果5日均线(定义成MA5)大于10日均线(定义成MA10),且账户当前无持仓,则全仓买入股票,
全仓买入使用:order_target_percent函数,第二个参数设置成1,就是全仓买入,order_target_percent(context.security, 1)。
如果5日均线小于10日均线,且账户当前有股票市值,则清仓股票,
清仓股票用order_target函数, order_target(context.security, 0),第二个参数是0就是清仓的意思。
}
补充逻辑:设置基准收益:中证300指数 '399300.SZ'
补充逻辑:需要在函数开始的时候 和结束的时候 打印文字:函数启动。
补充逻辑:不要使用set_backtest 函数,
补充逻辑:要交易的股票是:000001.SZ
补充逻辑:初始化函数不要用initialize,改成init  ,也不能有2个init函数
补充逻辑:结束不需要用on_exit函数
补充逻辑:给出很详细的注释

编译通过,有收益数据:

fcc193d6dd27603bca7187c5f2e7b5e6.png

评论

用户头像
2023-07-30 10:35:11

Chatgpt不能主动打开网页的吧?你发给他api文档有用吗?

评论
用户头像
2023-08-01 15:51:02

Chatgpt不能主动打开网页的吧?你发给他api文档有用吗?

评论
用户头像
2023-12-20 11:23:51

Chatgpt不能主动打开网页的吧?你发给他api文档有用吗?

评论
用户头像
2023-12-24 20:09:21

Chatgpt不能主动打开网页的吧?你发给他api文档有用吗?

评论