量化研究--西蒙斯ptrade自动新股新债申购

文章声明:本内容为个人的业余研究,和任何单位,机构没有关系,文章出现的股票代码,全部只是测试例子,不做投资参考,投资有风险,代码学习使用,不做商业用途

西蒙斯ptrade自动新股新债申购,自动读取数据每一天新股新债申购,这个函数是pt自带的,pt可以24小时运行非常的方便挂在服务器就可以

图片

我默认的设置14:50进行,打新的收益还是非常不错的

图片

pt的设置,把这个代码复制到pt新建立一个策略就可以,比如西蒙斯申购

图片

导入实盘,点击量化里面的交易就可以

图片

点击新增策略就可以

图片

启动策略就可以运行

图片

详细的内容

量化研究--西蒙斯ptrade自动新股新债申购https://mp.weixin.qq.com/s/8hPoY_8awoB5YeRxyiEKsQ

西蒙斯ptrade新股新债申购源代码

'''西蒙斯ptrade新股新债申购作者:西蒙斯量化微信:xg_quant时间:20250831代码只支持实盘,不支持回测'''from datetime import datetimedef initialize(context):    # 初始化策略    print('西蒙斯新股新债申购')    run_daily(context, xms_ipo, time='14:50')def before_trading_start(context, data):    '''    盘前    '''    current =datetime.now().strftime('%Y-%m-%d')    print('开始运行西蒙斯新股新债申购策略',current)def xms_ipo(context):    '''    西蒙斯新股新债申购    参数    submarket_type:申购代码所属市场,不传时默认申购全部新股(int);        black_stocks:黑名单股票,可以是单个股票或者股票列表,传入的黑名单股票将不做申购,不传时默认申购全部新股(str/list);        返回    返回dict类型,包含委托代码、委托编号、委托状态(委托失败为0,委托成功为1)、委托数量等信息(dict[str:dict[str:str,str:int,str:float],...])        {'732116.SS': {'entrust_no': '205001', 'entrust_status': 1, 'redemption_amount': 1000}, '732100.SS': {'entrust_no': '205002'    '''    #申购全部的标的    current =datetime.now().strftime('%Y-%m-%d')    try:        stats=ipo_stocks_order()        print(current,'今天的申购结果',stats)    except Exception as e :        print(current,'申购有问题')def after_trading_end(context, data):    '''    盘后    '''    current =datetime.now().strftime('%Y-%m-%d')    print('西蒙斯新股新债申购策略今天运行结束',current) dfdef get_xg_position(context):    '''    获取小果持股数据    '''    data=pd.DataFrame()    positions=context.portfolio.positions    stock_list=list(set(positions.keys()))    print('持股数量{}'.format(len(stock_list)))    for stock in stock_list:        df=pd.DataFrame()        df['证券代码']=[positions[stock].sid]        df['可用数量']=[positions[stock].enable_amount]        df['持有数量']=[positions[stock].amount]        df['最新价']=[positions[stock].last_sale_price ]        df['成本价']=[positions[stock].cost_basis ]        df['今日买入']=[positions[stock].today_amount ]        df['持股类型']=[positions[stock].business_type  ]        data=pd.concat([data,df],ignore_index=True)    '''    if data.shape[0]>0:        if g.is_del=='是':            print('开始策略隔离**********')            data['隔离']=data['证券代码'].apply(lambda x: '是' if x in g.stock_list else '不是')            data=data[data['隔离']=='是']        else:            print('不开启策略隔离*********')    '''    return datadef get_xg_order(context):    '''    获取小果委托数据    '''    orders=get_orders()    print("委托数量{}".format(len(orders)))    data=pd.DataFrame()    if len(orders)>0:        for ors in orders:            df=pd.DataFrame()            df['订单号']=[ors.id]            df['订单产生时间']=[ors.dt]            df['指定价格']=[ors.limit ]            df['证券代码']=[ors.symbol ]            df['委托数量']=[ors.amount ]            df['订单生成时间']=[ors.created ]            df['成交数量']=[ors.filled ]            df['委托编号']=[ors.entrust_no]            df['盘口档位']=[ors.priceGear ]            df['订单状态']=[ors.status ]            data=pd.concat([data,df],ignore_index=True)            else:        data=data    return datadef get_xg_position_on(context,security=''):    ''''    获取单股的持股情况    '''    pos=get_positions(security=security)    df=pd.DataFrame()    if len(pos)>0:        df['证券代码']=[pos[security].sid]        df['可以数量']=[pos[security].enable_amount]        df['持有数量']=[pos[security].amount]        df['最新价']=[pos[security].last_sale_price ]        df['成本价']=[pos[security].cost_basis ]        df['今日买入']=[pos[security].today_amount ]        df['持股类型']=[pos[security].business_type  ]    else:        df=df    return df

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xg_quant

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值