Python获取股票历史数据并分析
Python获取股票历史数据并简单分析
最近股市又跌的厉害,又有人鼓吹股灾了。纵观最近2年的A股几乎每隔一段实际就一次大调整,然后每次的
调整都亏一大把。心想有没有办法可以预测这种调整,经过几度分析,发现一个简单的规律,就是每次有大调整时,
跌幅大于3%的股票就会出现很多。于是想是不是可以以跌幅大于3%的比例作为一种参考呢。于是就开始验证这种
预警是否可靠。
要验证这种猜想需要大量的数据,基本需要每只股票的每天交易数据。下面就要想办法获取这002638勤上光电些历史数据。
数据包含:股票编码、交易日、开盘价、最高价、收盘价、最低价、价格涨幅、涨幅、5日、10日、20日均线
5日、10日、20日平均成交量
一共获取3198只股票最近三年的成交数据,一共190万条数据。
下面看看每日的上证指数、股票涨幅超过3%的比率(up3)、以及股票跌幅超过3%的比率 三者之间的关系图如
下:
Python获取股票历史数据并分析
再看看每日的上证指数涨幅、股票涨幅超过3%的比率(up3)、以及股票跌幅超过3%的比率 三者之间的关系图如下:
如上有几个简单规律
1、 当跌幅超过3%的股票占比超过10%时,意味股市的调整开始了。所以大家要小心
2、 上证上涨时,涨幅超过3%的股票占比变化不明显,说明上涨起来慢,不让你发现。跌起来快不让你逃跑。
460001 3、 当跌幅超过3%的股票占比超过20%时,一定要先出来,意味着后面还有调整
获取股票历史数据以及分析源码如下:
#以下为股票数据获取的源码
import sqlite3
import pandas as pd
import datetime
Python获取股票历史数据并分析
import math
import tushare as ts
dbname='stocks'
if 'stocks' not in dir():
stocks=_stock_basics()
def |金瑞科技股吧 getTag(x):
tag=(x)
if tag>=8 :
return 8
600765股票 elif tag0:
()
else:
sql=
date TEXT,
open REAL,
high REAL,
close REAL,
low REAL,
volume REAL,
price_change REAL,
太极集团股吧 p_change REAL,
ma5 REAL,
ma10 REAL,
ma20 REAL,
v_ma5 REAL,
v_ma10 REAL,
v_ma20 REAL,
code TEXT,
tag REAL
)
e(sql)
()
def getLastDate():
curs=()
sql=code,date(ifnull(max(date),'2000-01-01'),'start of day','1 day') maxdate FROM stocks group by
code
601166股票 e(sql)
...