使用聚宽量化交易平台
交易时间区间为2023-4-1至2023-10-1
要求:
- 设置股票池为沪深300的所有成分股
- 如果当前股价小于10元/股且当前不持仓,则买入;
- 如果当前股价比买入时上涨了25%,则清仓止盈;》如果当前股价比买入时下跌了10%,则清仓止损。
# 导入函数库
from jqdata import *
# 初始化函数,设定基准等等
def initialize(context):
# 选择股票池沪深300
g.security = get_index_stocks('000300.XSHG')
# 开启动态复权模式(真实价格)
set_option('use_real_price', True)
# 股票类每笔交易时的手续费是:买入时佣金万分之三,卖出时佣金万分之三加千分之一印花税, 每笔交易佣金最低扣5块钱
set_order_cost(OrderCost(close_tax=0.001, open_commission=0.0003, close_commission=0.0003, min_commission=5), type='stock')
def handle_data(context, data):
#先卖后买
#存买的哪些股票代码
tobuy = []
for stock in g.security:
#开盘价格
p = get_current_data()[stock].day_open
#购买数量
amount = context.portfolio.positions[stock].total_amount
#买入时的成本
cost = context.portfolio.positions[stock].avg_cost
if amount >0 and p>= cost * 1.25:
order_target(stock,0) #止盈
if amount > 0 and p >= cost * 0.9:
order_target(stock,0) #止损
if p <= 10.0 and amount == 0:
tobuy.append(stock)
cash_per_stock = context.portfolio.available_cash/len(tobuy)
for stock in tobuy:
order_value(stock, cash_per_stock)
模拟交易结果
每天都在亏!!!