In [4]:
%matplotlib inline
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import scipy.stats as stats
In [6]:
col=['open', 'high', 'close', 'low', 'volume', 'price_change', 'p_change',
'ma5', 'ma10', 'ma20', 'v_ma5', 'v_ma10', 'v_ma20', 'turnover', 'code',
'close_range', 'volume_range', 'close15', 'close_std15',
'close_range15', 'close_range_std15', 'volume15', 'volume_std15',
'volume_range15', 'volume_range_std15', 'close30', 'close_std30',
'close_range30', 'close_range_std30', 'volume30', 'volume_std30',
'volume_range30', 'volume_range_std30', 'close60', 'close_std60',
'close_range60', 'close_range_std60', 'volume60', 'volume_std60',
'volume_range60', 'volume_range_std60', 'close90', 'close_std90',
'close_range90', 'close_range_std90', 'volume90', 'volume_std90',
'volume_range90', 'volume_range_std90', 'close120', 'close_std120',
'close_range120', 'close_range_std120', 'volume120', 'volume_std120',
'volume_range120', 'volume_range_std120', 'std20', 'boll_up',
'boll_down', 'boll_range', 'boll_range_p', 'boll_change',
'boll_range_p20', 'macd', 'isOK_5', 'change_5', 'isOK_10', 'change_10',
'isOK_15', 'change_15', 'isOK_30', 'change_30', 'rsi',
'close_gradient5', 'close_gradient10', 'close_gradient15',
'close_gradient30']
In [7]:
data=pd.read_csv('data.csv',names=col)
In [5]:
data.describe()
Out[5]:
In [15]:
import seaborn as sns
In [17]:
d1=data[data.isOK_10>0]['rsi']
d2=data[data.isOK_10<1]['rsi']
k1=stats.kde.gaussian_kde(d1)
k2=stats.kde.gaussian_kde(d2)
space1=np.linspace(np.min(d1),np.max(d1),100)
space2=np.linspace(np.min(d2),np.max(d2),100)
good, =plt.plot(space1,k1(space1),label='good')
bad, =plt.plot(space2,k2(space2),label='bad')
plt.legend([good, bad])
Out[17]:
In [18]:
correlation=data.corr()
plt.figure(figsize=(100,100))
sns.heatmap(correlation,vmax=1,square=True,annot=True,cmap='viridis')
Out[18]:
In [21]:
good=data[data.isOK_10>0]
bad=data[data.isOK_10<1]
long=len(col)
plt_count=1
plt.figure(figsize=(10,100))
cols=['open', 'high', 'close', 'low', 'volume', 'price_change', 'p_change',
'ma5', 'ma10', 'ma20', 'v_ma5', 'v_ma10', 'v_ma20', 'turnover', 'code',
'close_range', 'volume_range', 'close15', 'close_std15',
'close_range15', 'close_range_std15', 'volume15', 'volume_std15',
'volume_range15', 'volume_range_std15', 'close30', 'close_std30',
'close_range30', 'close_range_std30', 'volume30', 'volume_std30',
'volume_range30', 'volume_range_std30', 'close60', 'close_std60',
'close_range60', 'close_range_std60', 'volume60', 'volume_std60',
'volume_range60', 'volume_range_std60', 'close90', 'close_std90',
'close_range90', 'close_range_std90', 'volume90', 'volume_std90',
'volume_range90', 'volume_range_std90', 'close120', 'close_std120',
'close_range120', 'close_range_std120', 'volume120', 'volume_std120',
'volume_range120', 'volume_range_std120', 'std20', 'boll_up',
'boll_down', 'boll_range', 'boll_range_p', 'boll_change',
'boll_range_p20', 'macd', 'rsi',
'close_gradient5', 'close_gradient10', 'close_gradient15',
'close_gradient30']
for i in cols:
d1=good[i]
d2=bad[i]
k1=stats.kde.gaussian_kde(d1)
k2=stats.kde.gaussian_kde(d2)
space1=np.linspace(np.min(d1),np.max(d1),100)
space2=np.linspace(np.min(d2),np.max(d2),100)
plt.subplot(long,1,plt_count)
plt_count +=1
goods, =plt.plot(space1,k1(space1),label='good')
bads, =plt.plot(space2,k2(space2),label='bad')
plt.title(i)
plt.legend([goods, bads])
In [3]:
In [ ]: