Exemple #1
0
    def get_data(symbol, start_date=datetime(year=2015, month=1, day=1)):

        data = DataReader(symbol, 'yahoo', start_date).reset_index()
        data['Daily_Returns'] = data['Adj Close'].pct_change()
        data['Daily_Log_Returns'] = np.log(data['Adj Close']) - np.log(
            data['Adj Close'].shift(1))
        data.drop(data.index[:1], inplace=True)
        data.columns = StockDataDownloader.COLUMNS
        return data
import pandas as pd
import pandas_ta as ta
from pandas_datareader import DataReader
import datetime
import matplotlib.pyplot as plt

# Load data
symbol = 'AAPL'

num_of_years = 1
start_date = datetime.datetime.now() - datetime.timedelta(days=int(365.25 * num_of_years))
end_date = datetime.date.today()

df = DataReader(symbol, 'yahoo' ,start_date, end_date)

df.columns = map(str.lower, df.columns)

df.ta.strategy(name='all')

# Sanity check. Make sure all the columns are there
print(df.columns)
print(df.tail())
plt.plot(df['bbands'])
Exemple #3
0
import pandas as pd
from pandas_datareader import DataReader
import datetime as dt
from stockstats import StockDataFrame
import matplotlib.pyplot as plt

pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)

ticker = 'AAPL'
num_of_years = 1
start = dt.datetime.now() - dt.timedelta(int(365.25 * num_of_years))
now = dt.datetime.now()

df = DataReader(ticker, 'yahoo', start, now)
df.columns = ['high', 'low', 'open', 'close', 'volume', 'adj close']
df = df[['open', 'close', 'high', 'low', 'volume']]
stock = StockDataFrame.retype(df)
print(stock['rsi_12'])

plt.gcf()
plt.plot(stock['boll'])
plt.plot(stock['boll_ub'])
plt.plot(stock['boll_lb'])
Exemple #4
0
 HMM在股票市场中的应用
 我们假设隐藏状态数量是6,即假设股市的状态有6种,虽然我们并不知道每种状态到底是什么,
 但是通过后面的图我们可以看出那种状态下市场是上涨的,哪种是震荡的,哪种是下跌的。
 可观测的特征状态我们选择了3个指标进行标示,进行预测的时候假设假设所有的特征向量的状态服从高斯分布
'''

from hmmlearn.hmm import GaussianHMM
import numpy as np
from matplotlib import cm, pyplot as plt
import matplotlib.dates
import pandas as pd
import datetime
from pandas_datareader import DataReader

# from sklearn.datasets import

# 测试时间从2005年1月1日到2015年12月31日,拿到每日沪深300的各种交易数据。

# beginDate = '2005-01-01'
# endDate ='2015-12-31'
beginDate = datetime.datetime(2015, 1, 1)
endDate = datetime.datetime(2015, 12, 31)
n = 6  # 6个隐藏状态
df = DataReader('XOM', 'yahoo', beginDate, endDate)
print(df.head())
df.columns = [
    'OpeningPx', 'HighPx', 'LowPx', 'ClosingPx', 'Adj Close',
    'TotalVolumeTraded'
]
print(df.head())