# 导入函数库
import jqdata
import math
import numpy as np
import pandas as pd
import datetime
# 策略初始化
def initialize(context):
set_option('use_real_price',True)#价格前复权
g.benchmark='000300.XSHG'
set_order_cost(OrderCost(open_tax=0,close_tax=0.001, open_commission=0.0003, close_commission=0.0003,min_commission=5), type='stock')
g.q=query(valuation.code,valuation.pe_ratio,indicator.inc_net_profit_year_on_year).filter(valuation.code.in_(g.security))
g.N=10
g.k=2
run_monthly(handle,1)
def handle(context):
stocks = get_index_stocks('000300.XSHG')
df_close=history(30,field='close',security_list=list(stocks)).T
df_close['ret']=(df_close/iloc[:,-1])-df_close.iloc[:,0])/df_close.iloc[:,0]
sorted_stocks=df_close.sort('ret',ascending=False).index#降序
to_hold=sorted_stocks[:g.N]
for stock in context.port
动量策略
最新推荐文章于 2023-04-26 09:04:53 发布