获取指数历史技术数据

获取技术指标数据的数据源为麦蕊,但其提供的数据并不全面。例如,在股票方面,只提供 A 股数据,无法获取港美股票数据。

此外,虽然麦蕊提供了有限的主要指数的历史技术数据,但并不包含所有指数,如中证等某些机构提供的指数。因此,如需获取其他指数的历史技术指标,请参考官方网站。

在下面的代码中,您需要修改两个主要内容:一个是您的许可证,另一个是您要调取的指数代码(请注意需要添加市场信息,例如沪深 300 代码为 sh 000300)。

代码

import requests
import pandas as pd

licence = '替换成你的licence'

def json_to_df(url):
    """
    将json数据转换为DataFrame格式的数据

    Args:
    url: str,请求数据的url地址

    Returns:
    df: DataFrame格式的数据
    """
    response = requests.get(url)
    data = response.json()
    df = pd.DataFrame(data)
    return df

def get_index_data(code,rank):
    """
    获取主要指数的历史数据,包括分时交易、kdj、macd、ma和boll

    Args:
    code: str,主要指数的代码,如'sh000300'
    rank: str,级别,包括'5m'、'15m'、'30m'、'60m'、'dn'、'wn'、'mn'、'yn'

    Returns:
    df: DataFrame格式的数据,包括分时交易、kdj、macd、ma和boll
    """
    # 分别获取分时交易、kdj、macd、ma和boll的json数据
    url_fs = f'http://api.mairui.club/zs/hfsjy/{code}/{rank}/{licence}'     # 分时
    url_kdj = f'http://api.mairui.club/zs/hkdj/{code}/{rank}/{licence}'     # kdj
    url_macd = f'http://api.mairui.club/zs/hmacd/{code}/{rank}/{licence}'    # kdj
    url_ma = f'http://api.mairui.club/zs/hma/{code}/{rank}/{licence}'       # ma
    url_boll = f'http://api.mairui.club/zs/hboll/{code}/{rank}/{licence}'   # boll

    # 将json数据转换为DataFrame格式的数据
    df_fs = json_to_df(url_fs)
    df_kdj = json_to_df(url_kdj)
    df_macd = json_to_df(url_macd)
    df_ma = json_to_df(url_ma)
    df_boll = json_to_df(url_boll)

	'''倒序,即当前日期放在前面
    df_fs = json_to_df(url_fs).iloc[::-1].reset_index(drop=True)
    df_kdj = json_to_df(url_kdj).iloc[::-1].reset_index(drop=True)
    df_macd = json_to_df(url_macd).iloc[::-1].reset_index(drop=True)
    df_ma = json_to_df(url_ma).iloc[::-1].reset_index(drop=True)
    df_boll = json_to_df(url_boll).iloc[::-1].reset_index(drop=True)
	'''
    # 将数据合并到一个数据框中
    df = pd.concat([df_fs, df_kdj, df_macd, df_ma, df_boll], axis=1)

    # 返回df
    return df

# 获取主要指数的历史数据,并保存为CSV文件
get_index_data('sh000300','dn').to_csv('主要指数技术数据.csv', index=False, encoding='utf-8-sig')

代码说明

这段代码通过请求接口获取主要指数的历史数据,包括分时交易、kdj、macd、ma 和 boll,并将这些数据合并到一个数据框中。

代码中的 json_to_df 函数将 json 数据转换为 DataFrame 格式的数据,get_index_data 函数获取主要指数的历史数据。

get_index_data 函数中,我们通过传入主要指数的代码和级别来获取主要指数的历史数据。

具体来说,我们分别获取分时交易、kdj、macd、ma 和 boll 的 json 数据,并将这些数据转换为 DataFrame 格式的数据。

然后,我们将这些数据合并到一个数据框中,并返回这个数据框。最后,我们调用 get_index_data 函数获取主要指数的历史数据,并将这些数据保存为 CSV 文件。

标题:

  1. 麦蕊提供的数据不够全面,如何获取更多指数历史技术指标数据?
  2. 获取主要指数历史技术指标数据的代码实现方法分享
  3. 如何利用API获取股票历史技术指标数据?
  4. 简单易懂!Python实现获取股票历史技术指标数据的教程
  5. 从根本上提高投资决策:如何获取更全面的股票历史技术指标?

标签:

#金融 #API #Python #股票 #投资决策

THE END