deledeleboy的知识库

构建全市场涨跌家数

由deledeleboy创建,最终由deledeleboy 被浏览 10 用户

如何用可视化的方式groupby函数构建全市场涨跌家数,还有个股涨幅/申万一级行业涨跌幅的因子?

1、构建全市场涨跌家数

    close / m_lag(close, 1) as return_0,
	if(return_0>1,1,0) as _upper,
    if(return_0<1,1,0) as _lower,
    c_group_sum(date,_upper) as upper_count,-- 上涨家数
    c_group_sum(date,_lower) as lower_count,-- 下跌家数

2、个股涨幅/申万一级行业涨跌幅的因子

  • 使用平台加工的申万一级行业数据(cn_stock_industry_bar1d),包括根据不同计算方式(算术平均、总股本加权平均、流通股本加权平均)得出的行业昨收盘价。
  • method:(1-算术平均; 2-总股本加权平均; 3-流通股本加权平均),这次采用method = 3(流通股本加权平均)
with sw2021 as (
  select 
    -- 所属行业加权后的后复权涨跌幅
    close / m_lag(close, 1) as sw2021_return,
  	instrument as industry_instrument,
  	date
  from cn_stock_industry_bar1d
   -- 流通股本加权平均
  where method =3
)
SELECT 
    -- 个股涨跌幅
    close / m_lag(close, 1) as return_0,
    -- 个股行业证券代码
    industry_instrument,

    -- 所属行业加权后的后复权涨跌幅
    sw2021_return,
    -- 个股涨幅/申万一级行业涨跌幅
    return_0/sw2021_return as ret_de_swRet,
    
    -- 日期和股票代码
    date,instrument
FROM cn_stock_prefactors
join cn_stock_industry_component using (date,instrument)
join sw2021 using (date,industry_instrument)
-- 申万2021
where industry='sw2021'
ORDER BY date, instrument

3、验证结果

4、画图

  • upper_count(上涨个数)
  • lower_count(下跌个数)
  • down_7(下跌超7%个数)

\

5、代码

https://bigquant.com/codesharev2/811c497e-16d7-4a61-a2e0-ec5706825c0b

\

{link}