예제 #1
0
def volval():

    lm = pd.read_csv(
        "/Users/s1830409/Google ドライブ/outputData/minashi-learn.csv")
    lm.set_index('コード', inplace=True)

    nk225 = n225.DfNk225()

    # 株価水準
    val = nk225.data.mean()

    # 日次リターン
    nk225.data = nk225.data.pct_change()
    nk225.data.fillna(0, inplace=True)

    # ボラティリティ
    vol = nk225.data.std() * np.sqrt(250)

    volval = vol * val

    # err比率
    rat = lm['100000'] / lm['answer']

    plt.scatter(rat, volval[1:])
    plt.yscale('log')
    plt.xscale('log')
    plt.show()
예제 #2
0
def val():

    lm = pd.read_csv(
        "/Users/s1830409/Google ドライブ/outputData/minashi-learn.csv")
    lm.set_index('コード', inplace=True)

    nk225 = n225.DfNk225()

    # 株価水準
    val = nk225.data.mean()

    # err比率
    rat = lm['100000'] / lm['answer']

    plt.scatter(rat, val[1:])
    plt.yscale('log')
    plt.xscale('log')
    plt.show()
예제 #3
0
def track():

    # load learned minashi
    filePath = "/Users/s1830409/Google ドライブ/outputData/minashi-learn.csv"
    minashiDf = pd.read_csv(filePath)
    minashiDf.set_index('コード', inplace=True)

    sDate = '2018/10/01'
    eDate = '2019/03/15'

    # make225sim
    nk = n225.DfNk225()

    ansData = nk.makeOrigin225(sDate, eDate, minashiDf['answer'].values)
    s100Data = nk.makeOrigin225(sDate, eDate, minashiDf['100'].values)
    s1000Data = nk.makeOrigin225(sDate, eDate, minashiDf['1000'].values)
    s10000Data = nk.makeOrigin225(sDate, eDate, minashiDf['10000'].values)
    s100000Data = nk.makeOrigin225(sDate, eDate, minashiDf['100000'].values)

    plt.plot(ansData['NK'], label="answer")
    plt.plot(s100Data['NK'], label="100")
    plt.plot(s1000Data['NK'], label="1000")
    plt.plot(s10000Data['NK'], label="10000")
    plt.plot(s100000Data['NK'], label="100000")
    plt.legend()
    #plt.show()

    plt.savefig("/Users/s1830409/Google ドライブ/outputData/ori225.png")

    oData = pd.DataFrame({
        'answer': ansData['NK'],
        '100': s100Data['NK'],
        '1000': s1000Data['NK'],
        '10000': s10000Data['NK'],
        '100000': s100000Data['NK'],
    })
    oData.to_csv("/Users/s1830409/Google ドライブ/outputData/ori225.csv")
예제 #4
0
import nk225data as n225
import pandas as pd
import tensorflow as tf

if __name__ == '__main__':

    data = n225.DfNk225()

    # 除数を学習
    # 除数
    vD = tf.Variable(225, dtype=tf.float64)
    # 株価
    hPrice = tf.placeholder(tf.float64, [len(data.minashiF)])
    # モデル構築
    model = hPrice * tf.convert_to_tensor(data.minashiF)
    model = tf.reduce_sum(model) / vD

    # Minimize
    hAnswer = tf.placeholder(tf.float64)
    loss = tf.reduce_mean(tf.square(model - hAnswer))
    optimizer = tf.train.GradientDescentOptimizer(0.000001)
    train = optimizer.minimize(loss)

    # Before starting, initialize the variables. We will 'run' this firs
    init = tf.global_variables_initializer()

    # Launch the graph.
    sess = tf.Session()
    sess.run(init)

    for step in range(100):