当前位置:首页>股票

如何查看股票价格(第二课 获取股票价格数据并画图 -- 零基础量化投资小课堂)

日期:2023-11-10

来源:玫瑰财经网

浏览:

    目标:从互联网上获取股票或者基金的价格,并且画出走势图

    俗话说巧妇难为无米之炊,做量化投资的研究最重要的部分就是数据部分。很多收益率很高的策略都只是很简单的逻辑,但是花了大量的精力和金钱在数据上。我们今天的内容就是要获取最基础的数据,价格和成交量,也叫价量数据。

    通过网上的搜索,我们可以知道现在有比较好用的A股数据接口如下:
    目前还免费,使用方便:

    1. Baostock
    2. Akshare
    3. tushare免费版
    4. 欢迎补充

    不免费或者使用麻烦:

    1. tushare pro
    2. 各大量化平台
    3. 行情软件提供的数据服务,如万得wind,东财提供的choice

    为方便大家学习,本教程尽量使用免费的数据源。有些数据免费的实在找不到的话,我会提供文件供大家下载。顺便一提wind和choice数据库我都有权限,如果自己有想法有需要数据的也可以找我提供。

    本章我们使用baostock数据宝,官网链接如下:http://baostock.com/baostock/index.php/%E9%A6%96%E9%A1%B5

    第二课 获取股票价格数据并画图 -- 零基础量化投资小课堂

    按照官网的提示,我们首先安装它

    打开上节课讲的jupyter notebook,输入pip install baostock -i https://pypi.tuna.tsinghua.edu.cn/simple/ –trusted-host pypi.tuna.tsinghua.edu.cn
    这样就安装好了需要的包

    首先声明:以下的代码我建议你复制,硬敲代码这种事情不够优雅,节约点时间干啥不好。
    或者更好的方式是,下载、课件,只需要一路鼠标点击运行即可和代码玩耍,你可以尽情的尝试,不需要担心其他问题

    我们按照数据官网的下载指数价格数据:

    import baostock as bsimport pandas as pd#### 登陆系统 ####lg = bs.login()# 显示登陆返回信息print('login respond error_code:'+lg.error_code)print('login respond  error_msg:'+lg.error_msg)#### 获取沪深A股历史K线数据 ##### 详细指标参数,参见“历史行情指标参数”章节;“分钟线”参数与“日线”参数不同。“分钟线”不包含指数。# 分钟线指标:date,time,code,open,high,low,close,volume,amount,adjustflag# 周月线指标:date,code,open,high,low,close,volume,amount,adjustflag,turn,pctChgrs = bs.query_history_k_data_plus("sh.000300","date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,isST",start_date='2020-01-01', end_date='2023-03-15',frequency="d", adjustflag="3")print('query_history_k_data_plus respond error_code:'+rs.error_code)print('query_history_k_data_plus respond  error_msg:'+rs.error_msg)#### 打印结果集 ####data_list = []while (rs.error_code == '0') & rs.next():# 获取一条记录,将记录合并在一起data_list.append(rs.get_row_data())result = pd.DataFrame(data_list, columns=rs.fields)#### 结果集输出到csv文件 ####result.to_csv("300.csv", index=False)print(result)#### 登出系统 ####bs.logout()

    这里的代码看不懂没关系,我们可以封装一下这个函数,使用课件中封装好的函数,只需要输入开始日期,结束日期,和股票或基金代码即可,比如这里我们想获取沪深300指数从17年一月一日到23年4月一日的价格,输入下面的代码即可

    get_price('2017-01-01','2023-04-01','sh.000300')

    可以看到他返回了价量数据

    第二课 获取股票价格数据并画图 -- 零基础量化投资小课堂

    这里我们造了一个黑盒,相当于你买了一个自动炒菜机,只需要提供输入就可以炒出来菜,不需要关心这个自动炒菜机是怎么组装的。当然这里的代码比较简单,封装的重要性似乎没有那么强,但之后的课程中,会用到大量开源或者别人封装好的库。做投资,学会站在别人肩膀上非常重要。

    如果您对编程不感兴趣,可以不用掌握以下基础,只需要知道这个地方应该输入的是日期和股票代码就可以了。

    这里需要的基础有以下几条:

    1. python基础中的函数,输入和输出
    2. python的pandas包
      推荐教程 廖雪峰的python教程,https://www.liaoxuefeng.com/wiki/1016959663602400/1017063413904832
      只看python基础和函数两章就够用了。
      对于pandas,推荐教程菜鸟https://www.runoob.com/pandas/pandas-install.html

    拿到价格后,我们输入一行代码即可把我们想要的图给画出来

    result['open'].astype(float).plot()

    结果如下

    第二课 获取股票价格数据并画图 -- 零基础量化投资小课堂

    可选作业:输出一副2015年至今的中证白酒指数的收盘价走势图

相关文章阅读

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

备案号:冀ICP备17019481号

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