同花顺Supermind量化交易 风险控制建模-投资高股息股票 附阐述 代码 回测

本文介绍了股息率选股策略,结合A股市场价值投资趋势,阐述了高股息率股票的投资价值。通过Supermind量化交易平台,展示策略构建过程,包括每月选取沪深300指数成分股中股息率最高的10只股票进行投资。策略回测显示在2021-2022年间取得了优于基准指数的收益率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作为策略锦集的第一篇,我们结合当前A股市场的价值投资风向,向大家介绍极具实践意义的股息率选股策略。

import pandas as pd
import numpy as np
# 初始化函数,全局只运行一次
def init(context):
    context.n = 10 #设置最大持仓数量
    run_monthly(handle_bar,date_rule=1)
    #将handle_bar交易函数设置定时运行:每个月第一个交易日
    context.stock = [] #储存上期的股票池

## 开盘时运行函数
def handle_bar(context, bar_dict):
    #执行选股函数:dividend_rate(context,bar_dict),并将结果导入,该股票列表是需要买入的个股。
    needstock_list = dividend_rate(context,bar_dict)
    #获取上期持仓个股
    holdstock_list = list(context.stock)
    #确定本期需要卖出的个股
    sell_list = list(set(holdstock_list)-set(needstock_list))
    #执行卖出操作,运用for循环,逐个操作。
    for s in sell_list:
        order_target(s,0)
    #确定本期需要买入的个股,其余即为继续持仓的个股
    buy_list=[]
    for i in needstock_list:
        if i in holdstock_list:
            pass
        else:
            buy_list.append(i)
    #确定可用资金,平分分配至需买入的个股
    n=len(buy_list)
    cash=context.portfolio.available_cash/n
    #执行买入操作
    for s in range(0,n,1):
        stock=list(buy_list)[s]
        order_target_percent(stock,0.1)
    #操作完毕,将选股结果放到上期股票池储存变量中,以备下次使用。
    context.stock = frozenset(needstock_list)

#选股函数,用于筛选沪深300指数成分股中的股息率前10的个股
def dividend_rate(context,data):
    #获取上一个交易日的日期
    ldate = get_last_datetime().strftime('%Y%m%d')
    #获取沪深300指数成分股内的所有个股
    stock_list = get_index_stocks('000300.SH',ldate) 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值