自动化获取,中证指数成份股技术数据——python量化

同样,下面 Python 程序是用于处理麦蕊数据的,其中包含三个自定义函数:处理 JSON 数据、获取中证指数成分股和获取麦蕊的技术数据。

程序的流程如下:首先在“获取中证指数成分股”函数中输入中证指数代码,然后该函数会返回该指数的成分股代码列表。接着,程序会使用循环来遍历每个成分股,并获取该成分股的麦蕊技术指标数据。最后,程序会对获取的 JSON 数据进行处理,并将其导出为 CSV 文件。

需要注意的是,这段程序使用的是麦蕊数据,因此需要获得相关的许可证才能运行。如果您想要使用这段程序,请确保已经获得了相关的许可证。

image.png

代码

import akshare as ak
import requests
import csv
import json
import pandas as pd

licence = '修改成你的licence'

# 读取json对象的自定义函数,index=[0],行内拼接
def json_to_index_df(url):
    """
    读取json对象的自定义函数,使用requests库获取url的json数据,并将其转换成pandas的DataFrame格式
    :param url: 传入url地址
    :return: 返回DataFrame格式的数据
    """
    response = requests.get(url)
    data = response.json()
    df = pd.DataFrame(data, index=[0])
    return df

# 获取中证指数成份股代码
def get_component_codes(symbol):
    """
    获取中证指数成份股代码的函数
    :param symbol: 传入指数代码
    :return: 返回成份股代码的列表
    """
    index_stock_cons_csindex = ak.index_stock_cons_csindex(symbol=symbol)
    codes = index_stock_cons_csindex['成分券代码']
    return codes


# 用中证指数的成分股去获取json对象的自定义函数,包括分时交易、kdj、macd、ma和boll
def get_stock_data(symbol):
    """
    用中证指数的成分股去获取json对象的自定义函数,包括分时交易、kdj、macd、ma和boll
    :param symbol: 传入指数代码
    :return: 返回成份股的交易数据csv文件
    """
    codes = get_component_codes(symbol)  # 调取自定义函数——获取中证指数成份股代码

    dfs = []
    for code in codes:
        url_fs = f'http://api.mairui.club/hszb/fsjy/{code}/dq/{licence}'
        url_kdj = f'http://api.mairui.club/hszb/kdj/{code}/dq/{licence}'
        url_macd = f'http://api.mairui.club/hszb/macd/{code}/dq/{licence}'
        url_ma = f'http://api.mairui.club/hszb/ma/{code}/dq/{licence}'
        url_boll = f'http://api.mairui.club/hszb/boll/{code}/dq/{licence}'

        df_fs = json_to_index_df(url_fs)
        df_kdj = json_to_index_df(url_kdj)
        df_macd = json_to_index_df(url_macd)
        df_ma = json_to_index_df(url_ma)
        df_boll = json_to_index_df(url_boll)

        df = pd.concat([df_fs, df_kdj, df_macd, df_ma, df_boll], axis=1)
        df.insert(0, '代码', code)
        dfs.append(df)

    result = pd.concat(dfs)
    result.to_csv(f'{symbol}_成分股交易数据.csv', index=False, encoding='utf-8-sig')

get_stock_data('000016') #参数为中证指数代码

代码说明

该代码主要是获取中证指数成份股的分时交易、kdj、macd、ma 和 boll 数据,并将其保存为 csv 文件。其中,代码注释清晰明了,方便阅读和理解。主要函数包括三个:

  1. json_to_index_df(url):读取 json 对象的自定义函数,使用 requests 库获取 url 的 json 数据,并将其转换成 pandas 的 DataFrame 格式。

  2. get_component_codes(symbol):获取中证指数成份股代码的函数。

  3. get_stock_data(symbol):用中证指数的成分股去获取 json 对象的自定义函数,包括分时交易、kdj、macd、ma 和 boll,并将结果保存为 csv 文件。

其中,get_stock_data(symbol) 函数中包含一个循环,用于遍历中证指数的所有成份股,并调用 json_to_index_df(url) 函数获取数据,并将其放入列表中。最后,将所有列表中的数据合并为一个 DataFrame,并保存为 csv 文件。

该代码对于有一定编程能力的人来说,可读性较高,易于理解。同时,使用了 pandas 库,对数据进行了处理和分析,能够更好地满足用户需求。

  1. 中证指数成份股技术数据获取程序
  2. 用Python获取中证指数成份股数据
  3. 自动化获取中证指数成份股交易数据
  4. 麦蕊数据处理:Python程序实现中证指数成份股技术数据获取
  5. 基于Python的中证指数成份股技术分析工具

#金融 #数据处理 #投资 #Python #中证指数

THE END