我的Python心路历程 第十期 (10.3 雅虎金融股票day数据转化为csv)

我的Python心路历程 第十期 (10.3 雅虎金融股票day数据转化为csv)

上期实践了如何获取通信达数据,但先天不足是无法获取Adj Close的取值,今天这一实践课堂可以解决这个忧虑。
首先,通过公司股票代码名称获取数据并存储在csv文件中。数据来源于雅虎金融,先获取美股数据试试看,中国A股数据能否获取待进一步验证。话不多说上代码:

#!/usr/bin/python
# coding=UTF-8

# 基本信息
import os
import numpy as np
import pandas as pd
from pandas import Series, DataFrame

# 股票数据读取
import pandas_datareader as pdr

# 可视化
import matplotlib.pyplot as plt
#import seaborn as sns
#%matplotlib inline

# time
from datetime import datetime

#将雅虎股票day数据转化为csv,便于pandas分析;以获取苹果数据为例
def yhday2csv(comName):

    #获取绝对路径,data为当前文件夹
    curpath = os.path.join(os.path.dirname(__file__), 'data')

    #获取公司名执行代码
    for comnames in comName:
        #获取公司名
        fileName = comnames + '.csv'
        file_object_path = os.path.join(curpath, fileName)

        #获取数据并存在csv文件中 [Date	Open	High	Low	Close	Adj Close	Volume]
        start = datetime(2016, 1, 1)
        #company = comnames
        top_tech_df = pdr.get_data_yahoo(comnames, start=start)
        top_tech_df.to_csv(file_object_path)

    return

def main():

    #公司股票代码名称
    company = ['GOOG']  #'GOOG', 'AAPL', 'MSFT', 'AMZN', 'FB']

    #通过公司股票代码名称获取数据并存储在csv文件中
    #yhday2csv(company)

    return

if __name__ == '__main__':
    main()

成功写入csv效果如下图所示:
在这里插入图片描述
我的Python心路历程 第十期 (10.3 雅虎金融股票day数据转化为csv)_第1张图片

最为关键的是,这样获取的数据中是以带Adj Close值的,但从通信打下载的日线数据中没有该值,为此而苦恼了很久呢。

其次,试一下上面说的中国Agu数据获取,不是不知道,试一下得知效果不错呢。
代码更改如下:

    #公司股票代码名称
    company = ['600000.SS']  
    #yahoo的api是国际性的,是支持国内沪深股市的,但代码稍微变动一下,如浦发银行的代号是:600000.SS。规则是:上海市场末尾加.ss,深圳市场末尾加.sz。

csv文件内容如下所示:
我的Python心路历程 第十期 (10.3 雅虎金融股票day数据转化为csv)_第2张图片

好,数据源的问题终于可以算是尘埃落定了。

1、我的Python心路历程 第十期 (10.1 实践实例之股票数据分析)
2、我的Python心路历程 第十期 (10.2 通达信股票day数据转化为csv)

你可能感兴趣的:(python)