▌前言
按照视频作者sentdex的意思,其实将Machine Learning(机器学习)应用在股票投资上并不难,难就难在对原始数据的获取、清洗和整理。 所以sentdex最开始的视频都是关于数据获取和清洗的教程。
▌视频
▌视频出处
视频系列:Scikit-learn Machine Learning with Python and SKlearn
本视频出处:Scikit Learn Machine Learning for investing Tutorial with Python p. 4
优酷:Scikit Learn Machine Learning for investing Tutorial with Python p. 4
▌数据下载
下载地址:数据
百 度 云: 地址 密码: yyq8
▌内容
这个视频教学主要用到雅虎上面的财务数据,例如debt to equity
, P/E
, P/B
等等。假设你下载了上面的数据文件, 你就会看到作者直截了当地将雅虎金融上的全部股票遍历一次,并将其历史数据保存为html形式,需要用到的时候再提取。
首先,我们从最简单的开始。 我们会用到 负债/资产比率(Debt/Equity)
单一个数据,并观察和对比能否只通过 负债/资产比率
就可以决定buy or sell 某一股票.
▌源代码
import pandas as pd
import os
import time
from datetime import datetime
#获取数据的具体路径
path = '../intraQuarter'
#定义一个function,默认值为Total Debt/Equity (mrq),以后可以更改为其他
def Key_Stats(gather="Total Debt/Equity (mrq)"):
statspath = path+'/_KeyStats'
#os模块提供的walk方法很强大,能够把给定的目录下的所有目录和文件遍历出来。
#方法:os.walk(path),遍历path,返回一个对象,他的每个部分都是一个三元组,('目录x',[目录x下的目录list],目录x下面的文件)
stock_list = [x[0] for x in os.walk(statspath)]
#stock_list[1:] -- 主要作用是跳过根目录intraQuarter
for each_dir in stock_list[1:]:
#os.listdir(each_dir):列出each_dir下的目录和文件
each_file = os.listdir(each_dir)
if len(each_file) > 0:
for file in each_file:
#将文件名转换为时间序列
date_stamp = datetime.strptime(file, '%Y%m%d%H%M%S.html')
#转换为unix_time
unix_time = time.mktime(date_stamp.timetuple())
print(date_stamp, unix_time)
time.sleep(15)
Key_Stats()
▌最后
虽然分c君_BingWong
只是作为一名搬运工,连码农都称不上。 但制作代码中的注释、翻译和搬运都花了很多时间,请各位大侠高抬贵手,在转载时请注明出处。