一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

選股系列(7)——概念板塊RPS

 常熟老李jlr5mr 2023-08-18 發(fā)布于江蘇
Image

1、策略簡介

選股系列前面幾篇已經(jīng)使用過個股的RPS指標,相對于個股RPS,概念板塊RPS側(cè)重于某些時期整個行業(yè)或板塊可能因為宏觀經(jīng)濟趨勢、政府政策或技術(shù)變革等因素而受益

與集中在個別股票上的投資相比,投資于一個整體表現(xiàn)良好的行業(yè)或板塊可以提供更好的風(fēng)險分散。從市場心理角度,板塊動能反映了大部分投資者的共同看法,從而創(chuàng)建了自我實現(xiàn)的預(yù)言。

或者也可以結(jié)合其他選股指標,疊加板塊RPS來過濾。(后期會有文章)

概念板塊篩選邏輯:

20日、10日、5日的RPS均大于臨界值,且當日各級別的RPS大于RPS移動均線。具體實現(xiàn)過程見代碼。

2、選股過程

有很多朋友在后臺問如何獲取量價數(shù)據(jù),我們過去的文章中有提到爬蟲方法:

《自定義爬蟲函數(shù)展示,3分鐘可更新全部數(shù)據(jù)》

這里結(jié)合akshare一起來實現(xiàn)本文的選股過程

import akshare as ak
import requests
import pandas as pd
import datetime

today=datetime.datetime.today().strftime('%Y%m%d')

begin_day=(datetime.datetime.today()+datetime.timedelta(days=-80)).strftime('%Y%m%d')


board_name=ak.stock_board_concept_name_em()

delname=['昨日連板_含一字','昨日漲停_含一字']

board_name=board_name[~board_name['板塊名稱'].isin(delname)].reset_index(drop=True)

def stock_board_concept_hist_em(symbol,period,start_date,end_date,adjust):
    '''
    東方財富網(wǎng)-滬深板塊-概念板塊-歷史行情
    https://quote.eastmoney.com/bk/90.BK0715.html
    :param symbol: 板塊名稱
    :type symbol: str
    :type period: 周期; choice of {'
daily', 'weekly', 'monthly'}
    :param period: 板塊名稱
    :param start_date: 開始時間
    :type start_date: str
    :param end_date: 結(jié)束時間
    :type end_date: str
    :param adjust: choice of {'': 不復(fù)權(quán), '
qfq': 前復(fù)權(quán), 'hfq': 后復(fù)權(quán)}
    :type adjust: str
    :return: 歷史行情
    :rtype: pandas.DataFrame
    '
''
    period_map = {
        'daily''101',
        'weekly''102',
        'monthly''103',
    }
    stock_board_code = board_name[
        board_name['板塊名稱'] == symbol
    ]['板塊代碼'].values[0]
    adjust_map = {'''0''qfq''1''hfq''2'}
    url = 'http://91.push2his.eastmoney.com/api/qt/stock/kline/get'
    params = {
        'secid': f'90.{stock_board_code}',
        'ut''fa5fd1943c7b386f172d6893dbfba10b',
        'fields1''f1,f2,f3,f4,f5,f6',
        'fields2''f51,f53',
        'klt': period_map[period],
        'fqt': adjust_map[adjust],
        'beg': start_date,
        'end': end_date,
        'smplmt''10000',
        'lmt''1000000',
        '_''1626079488673',
    }
    r = requests.get(url, params=params)
    data_json = r.json()
    temp_df = pd.DataFrame([item.split(','for item in data_json['data']['klines']])
    temp_df.columns = [
        '日期',
        '收盤',
    ]
    temp_df = temp_df[
        [
            '日期',
            '收盤',
        ]
    ]
    temp_df['收盤'] = pd.to_numeric(temp_df['收盤'], errors='coerce')
    return temp_df

board_daily=stock_board_concept_hist_em(
    symbol=list(board_name['板塊名稱'])[0],
    period= 'daily',
    start_date =begin_day,
    adjust='',
    end_date =today)

board_daily=board_daily.rename(columns={'收盤':list(board_name['板塊名稱'])[0]})

for name in list(board_name['板塊名稱'])[1:]:
    board_daily_temp=stock_board_concept_hist_em(
                                                symbol=name,
                                                period= 'daily',
                                                start_date = begin_day,
                                                adjust='',
                                                end_date = today)
    board_daily=pd.merge(board_daily,board_daily_temp,how='outer').rename(columns={'收盤':name})


# 將日期列設(shè)置為索引
board_daily.set_index('日期', inplace=True)

def calculate_RPS(df, days):
    # 計算百分比變化
    return_rate = df.pct_change(days)
    
    # 在每個日期為概念/股票排序,并轉(zhuǎn)化為百分比形式的排名
    rps = return_rate.rank(axis=1, pct=True).multiply(100)
    
    return rps

df_rps10 = calculate_RPS(board_daily, 10) 
df_rps20 = calculate_RPS(board_daily, 20) 
df_rps5 = calculate_RPS(board_daily, 5) 


# 計算移動平均值
ma_rps10 = df_rps10.rolling(window=10).mean()
ma_rps20 = df_rps20.rolling(window=20).mean()
ma_rps5 = df_rps5.rolling(window=5).mean()

# 使用條件進行篩選
condition_a = df_rps10 > ma_rps10
condition_b = df_rps20 > ma_rps20
condition_d = df_rps5 > ma_rps5

selected_board = (df_rps10 > 80) & (df_rps20 > 75) & (df_rps5 > 85) & condition_a & condition_b & condition_d

3、篩選結(jié)果

selected_board的結(jié)果:

True代表當日該概念板塊滿足RPS條件Image

來看看今天(2023年8月16日)的板塊篩選結(jié)果:

cols_true = selected_board.loc['2023-08-16'][selected_board.loc['2023-08-16']].index.tolist()

['券商概念', '抗原檢測', 'ST股', '毛發(fā)醫(yī)療', '精準醫(yī)療', '痘病毒防治', '輔助生殖', '蒙脫石散', '嬰童概念', '病毒防治', '養(yǎng)老概念', '流感', '寵物經(jīng)濟', '化妝品概念', '健康中國', '青蒿素', '肝素概念', '超級真菌', '肝炎概念', '幽門螺桿菌概念', '注射器概念', '醫(yī)療美容', '中藥概念', '地塞米松', '熊去氧膽酸']

進一步看看'券商概念'板塊成分股的近期業(yè)績走勢

stock_list=list(ak.stock_board_concept_cons_em(cols_true[0])['代碼'])

stock_daily=ak.stock_zh_a_daily(
   symbol= 'sz'+stock_list[0],
   start_date= begin_day,
   end_date = today,
   adjust='qfq'
)[['date','close']].rename(columns={'close':stock_list[0]})


for code in stock_list[1:]:
   try:
       stock_daily_temp=ak.stock_zh_a_daily(
       symbol= 'sh'+code,
       start_date= begin_day,
       end_date = today,
       adjust='qfq'
       )[['date','close']].rename(columns={'close':code})
   except:
       stock_daily_temp=ak.stock_zh_a_daily(
       symbol= 'sz'+code,
       start_date= begin_day,
       end_date = today,
       adjust='qfq'
       )[['date','close']].rename(columns={'close':code})
   stock_daily=pd.merge(stock_daily,stock_daily_temp)

stock_daily.set_index('date').divide(stock_daily.set_index('date').iloc[0]).plot(legend=False,figsize=(10, 5))

Image其他板塊大家可以自行關(guān)注后期走勢

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    成在线人免费视频一区二区| 国产一区二区三区四区免费| 亚洲一区二区三区福利视频| 欧美日韩国产精品第五页| 欧美有码黄片免费在线视频| 欧美一级黄片免费视频 | 亚洲精品偷拍视频免费观看| 日韩性生活视频免费在线观看| 亚洲欧美日本国产有色| 日韩欧美三级视频在线| 日韩欧美一区二区久久婷婷| 亚洲一区二区亚洲日本 | 亚洲午夜精品视频观看| 白白操白白在线免费观看| 亚洲天堂精品1024| 黄片免费观看一区二区| 精品亚洲香蕉久久综合网| 久久偷拍视频免费观看| 欧美精品在线观看国产| 中文字幕亚洲精品乱码加勒比| 精品日韩av一区二区三区| 亚洲精品一区二区三区免| 亚洲第一区二区三区女厕偷拍 | 亚洲性生活一区二区三区| 国产一区欧美午夜福利| 日本黄色美女日本黄色| 国产又长又粗又爽免费视频| 亚洲黄色在线观看免费高清| 日韩午夜老司机免费视频 | 国产亚洲二区精品美女久久| 亚洲精品国产主播一区| 亚洲国产av国产av| 国产精品一区二区有码| 婷婷色国产精品视频一区| 欧美日韩精品久久亚洲区熟妇人| 国产在线日韩精品欧美| 日韩18一区二区三区| 亚洲一区二区久久观看| 欧美午夜性刺激在线观看| 成年女人下边潮喷毛片免费| 欧美国产日本免费不卡|