ZBLOG

帮我用同花顺supermind量化平台(https://quant.10jqka.com.cn/) 的代码规范 结合上面的函数使用说明 生成一个总市值大于等于平均值, 股息率大于等于平均值的 1.5 倍, 最近一期资产负债比率小于平均值,最近一年市盈率小于平均值,最近一年每股现金流量为正值且大于平均值的回测代码

很抱歉,由于我无法直接访问外部网站和平台,也无法生成具体的代码。但是,我可以帮助您理解策略的基本原理,并提供一些示例代码供参考。

根据您的需求,您想要构建一个筛选股票的条件包括总市值大于等于平均值、股息率大于等于平均值的1.5倍、最近一期资产负债比率小于平均值、最近一年市盈率小于平均值以及最近一年每股现金流量为正值且大于平均值。以下是一个示例代码:

# 导入必要的库
import numpy as np

def initialize(context):
    context.stocks = ['000001.XSHE', '600000.XSHG']  # 股票池,可以根据需求自行调整
    
def handle_data(context, data):
    # 获取当前日期
    current_date = context.current_dt.date()
    
    if current_date.month == 1 and current_date.day == 1:   # 每年1月1日进行股票筛选
        
        # 获取历史数据
        hist_data = history_bars(context.stocks, 250, '1d', ('total_market_value', 'dividend_yield', 'asset_liability_ratio',
                                                         'pe_ratio', 'net_cash_flows_oper_act'))
        
        # 计算各项指标的平均值
        avg_total_market_value = np.mean(hist_data['total_market_value'])
        avg_dividend_yield = np.mean(hist_data['dividend_yield'])
        avg_asset_liability_ratio = np.mean(hist_data['asset_liability_ratio'])
        avg_pe_ratio = np.mean(hist_data['pe_ratio'])
        avg_net_cash_flows_oper_act = np.mean(hist_data['net_cash_flows_oper_act'])
        
        # 筛选符合条件的股票
        selected_stocks = []
        for stock in context.stocks:
            total_market_value = history_bars(stock, 1, '1d', 'total_market_value')[0]
            dividend_yield = history_bars(stock, 1, '1d', 'dividend_yield')[0]
            asset_liability_ratio = history_bars(stock, 1, '1d', 'asset_liability_ratio')[0]
            pe_ratio = history_bars(stock, 1, '1d', 'pe_ratio')[0]
            net_cash_flows_oper_act = history_bars(stock, 252, '1d', 'net_cash_flows_oper_act')[-1]
            
            if (total_market_value >= avg_total_market_value and 
                dividend_yield >= avg_dividend_yield * 1.5 and 
                asset_liability_ratio < avg_asset_liability_ratio and 
                pe_ratio < avg_pe_ratio and 
                net_cash_flows_oper_act > 0 and 
                net_cash_flows_oper_act > avg_net_cash_flows_oper_act):
                
                selected_stocks.append(stock)
        
        # 输出筛选结果
        print("符合条件的股票:", selected_stocks)

在上述代码中,我们首先定义了一个股票池 context.stocks,然后在每年的1月1日进行股票筛选。我们使用 history_bars() 函数获取历史数据,并计算各项指标的平均值。然后,我们遍历股票池中的每只股票,根据条件进行筛选,并将符合条件的股票添加到 selected_stocks 列表中。

请注意,上述代码仅为示例,您需要根据实际需求进行适当修改和调整。同时,请确保您已经熟悉同花顺SuperMind量化平台的相关函数和API文档,以便正确地编写和运行代码。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=4080

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?