当前位置:首页>股票

得到股票(使用 Python 获取股票历史数据,助力量化分析与策略回测)

日期:2023-11-15

来源:玫瑰财经网

浏览:

    使用 Python 获取股票历史技术数据

    本文介绍如何使用 Python 获取股票历史技术数据,以便进行量化分析或策略回测。

    我们使用麦蕊数据提供的数据,其中包括技术指标。以下是两个自定义函数,一个用于将 JSON 转换为 DataFrame 格式,另一个用于获取数据。

    第一个自定义函数是处理 JSON 的函数,它将 JSON 转换为 DataFrame 格式,以便更好地进行数据处理和分析。

    第二个自定义函数是获取数据的函数,它可以根据输入的股票代码获取相应的历史技术数据。该函数可以根据需要进行修改,以满足不同的数据获取需求。

    通过使用这两个自定义函数,我们可以轻松地获取历史技术数据,并进行量化分析或策略回测。这将有助于我们更好地理解市场趋势,制定更有效的投资策略。

    需要修改的地方有两个,一个是填写自己的许可证,另一个是在调用自定义函数时,输入要获取股票的代码。这些修改将使代码能够适应不同的情况和需求。

    使用 Python 获取股票历史数据,助力量化分析与策略回测

    代码

    import requestsimport pandas as pdlicence = '替换成你的licence'def json_to_df(url):    """    将json格式转换为DataFrame格式    """    response = requests.get(url)    data = response.json()    df = pd.DataFrame(data)    return dfdef get_stock_data(code):    """    通过股票代码获取历史数据,包括分时交易、kdj、macd、ma和boll    """    url_fs = f'http://api.mairui.club/hszbl/fsjy/{code}/dq/{licence}'    url_kdj = f'http://api.mairui.club/hszbl/kdj/{code}/dq/{licence}'    url_macd = f'http://api.mairui.club/hszbl/macd/{code}/dq/{licence}'    url_ma = f'http://api.mairui.club/hszbl/ma/{code}/dq/{licence}'    url_boll = f'http://api.mairui.club/hszbl/boll/{code}/dq/{licence}'        # 获取数据并转换为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_stock_data('000001').to_csv('数据.csv', index=False, encoding='utf-8-sig')


    使用 Python 获取股票历史数据,助力量化分析与策略回测

    代码解释说明

    该代码主要是从指定的 API 获取股票数据,然后将分时交易、KDJ、MACD、MA 和 BOLL 的数据合并到一个 DataFrame 中,并将结果保存为 CSV 文件。

    首先,定义了一个 json_to_df 函数,用于将 API 返回的 JSON 格式数据转换为 DataFrame 格式。然后,定义了一个 get_stock_data 函数,该函数通过股票代码获取历史数据。在该函数中,使用了 json_to_df 函数获取分时交易、KDJ、MACD、MA 和 BOLL 的数据,并使用 pd.concat 将它们合并到一个 DataFrame 中。最后,使用 to_csv 将结果保存为 CSV 文件。

    值得注意的是,该代码中的 licence 变量是用于访问 API 的许可证号,需要替换为有效的许可证号才能正常运行。

相关文章阅读

Copyright (c) 2022 玫瑰财经网 版权所有

备案号:冀ICP备17019481号

玫瑰财经网发布此信息的目的在于传播更多信息,与本站立场无关。玫瑰财经网不保证该信息(包含但不限于文字、视频、音频、数据及图表)全部或者部分内容的准确性、真实性、完整性、有效性、及时性、原创性等。
相关信息并未经过本网站证实,不对您构成任何投资建议,据此操作,风险自担。