金と緑のエントロピー

ヴォイニッチ手稿,投資,農作について,データ分析手法を使って不真面目に研究する場所です.

2017/11/24 株式投資の収支報告 ~落ち着きを取戻しました~

2017/11/24, 15週目の収支報告です.

 

2017/11/24 15              
資産の部       増減   負債の部   増減
879400       879400 879400 879400
株式 795300       795300      
    投資資金 797300   797300      
    含み益 -2000   -2000 利益剰余金 79400 79400
現金 84100       84100      
        新規売 0 自己資本 800000 800000

 

      新規買 0      

回復基調です.先週の含み益\-24900から,\-2000まで戻しました.

利益率は9.9%です.

 

保有銘柄はこちら.

銘柄 保有株数 取得単価
現在値
取得金額
評価額
評価損益
日本ケア
2393
100 1,319
1,274
131,900
127,400
-4,500
トーエル
3361
100 961
985
96,100
98,500
2,400
大有機化
4187
100 1,360
1,341
136,000
134,100
-1,900
シグマ光機
7713
100 1,779
1,843
177,900
184,300
6,400
大研医器
7775
100 765
760
76,500
76,000
-500
杉本商事
9932
100 1,789
1,750
178,900
175,000
-3,900

保有銘柄は変更なしです.

 

先週の暴落の影響は,なんとか今週で戻しました.

市場の落ち着きに伴い,私も少し冷静になったのか,今週は落ち着いて相場を見ていられました.

やはり,もう少し冷静に市場を見るクセを付けるか,そうでなければショートポジションも増やしたいところです.

ショートポジションはロングに比べて,価格予測の精度が悪いので,少々気がかりですが...検討を進めていきたいと思います.

2017/11/18 株式投資の収支報告 ~暴落はドラマと反省が生まれます~

14週目の収支報告です.



2017/11/17

14

資産の部

 

 

 

増減

 

負債の部

 

増減



856500

 

 

 

-34900



856500

-34900

株式

772400

 

 

 

-80900

 

 

投資資金

797300

 

-66901

 

 

含み益

-24900

 

-13999

利益剰余金

56500

-34900

現金

84100

 

 

 

46000

 

 

 

 

新規売

122500

自己資本

800000

800000

 

 

 

 

新規買

76500

なかなか惨憺たる結果です.



銘柄

保有株数

(売却注文中)

取得単価

現在値

取得金額

評価額

評価損益

日本ケア

2393

100

1,319

1,271

131,900

127,100

-4,800

トーエル

3361

100

961

948

96,100

94,800

-1,300

大有機化

4187

100

1,360

1,320

136,000

132,000

-4,000

シグマ光機

7713

100

1,779

1,706

177,900

170,600

-7,300

大研医器

7775

100

765

766

76,500

76,600

100

杉本商事

9932

100

1,789

1,713

178,900

171,300

-7,600

憎きウェーブロックを売却し,新たに大研医器を加えています.
今週は市場全体が暴落しており,例に漏れずそれに巻き込まれた形となりました.
利益率は先週の11%から7%まで低下しています.

暴落時に購入できる資金を残しておけという教訓の,手痛い勉強代になりました.
反省するところは反省し,一方でこの失敗に怯えることなく,引き続き安定した購入と運用をしていきたいと思います.

2017/11/10 株式投資の収支報告 ~含み損捨てられない病が発動中~

2017/11/10,13週目の収支報告です.
サボっていたら,週明けになってしまいました.



2017/11/10

13

資産の部

 

 

 

増減

 

負債の部

 

増減



891400

 

 

 

900



891400

900

株式

853300

 

 

 

584000

 

 

投資資金

864201

 

593501

 

 

含み益

-10901

 

-9501

利益剰余金

91400

900

現金

38100

 

 

 

-583100

 

 

 

 

新規売

136600

自己資本

800000

800000

 

 

 

 

新規買

719700

利益率は11.4%です.
かろうじて黒字ですが,ほとんど変動なしです.


保有銘柄はこちら.


銘柄

保有株数

(売却注文中)

取得単価

現在値

取得金額

評価額

評価損益

日本ケア

2393

100

1,319

1,274

131,900

127,400

-4,500

トーエル

3361

100

961

982

96,100

98,200

2100

シグマ光機

7713

100

1,779

1,754

177,900

175,400

-2,500

大研医器

7775

100

765

766

76,500

76,600

100

ウェーブロックHD

7940

100

1,436

1,281

143,600

128,100

-15,500

杉本商事

9932

100

1,789

1,801

178,900

180,100

1200

一気に買いすぎですね!
ようやく私生活が落ち着いて,銘柄選定ができるようになり,一気に火がついてしまいました.結局その後暴落してますし,反省です.

ただ,購入した銘柄自体はそれほど悪影響はありません.
とにかくウェーブロックの暴落が今週の利益の支配要因です.

実はウェーブロック自体はもう機械学習で算出した購入候補銘柄では無いのですが,なんとなく決算後に買ってみて暴落してしまったものです.
しかも,下がってしまい手放すこともできず...一番やってはいけないことを次々とやってしまっています.

こうした投資の心理的トラップにかからないように機械学習による客観的候補選定をしているのですが,これでは意味がありません.
次週までに手放して,もっと期待のできる銘柄に買い換えることにします.

2017/11/03 株式投資の収支報告 ~無策なら手を打ってはいけない~

2017/11/03,12週目の収支報告です.

2017/11/3 12
資産の部       増減   負債の部   増減
890500       890500 890500 890500
株式 269300       269300      
    投資資金 270700   270700      
    含み益 -1400   -1400 利益剰余金 90500 90500
現金 621200       621200      
        新規売 443500 自己資本 800000 800000
        新規買 143400      

保有銘柄は,片倉,ウェーブロックの2銘柄です. 決算前にKDDIを売却しました.

ウェーブロックを決算前に売却したのですが,その後好決算にもかかわらずあまり上がらないので買い直したところ,何故か若干落ちてしまい,今週は赤字です. 策もなく手を出してはいけませんね...

多忙のため控えめな取引を続けていましたが,ようやく本業のほうが一段落しました. なので,次週からは積極的に購入をし始めたいと思います.

2017/10/27 株式投資の収支報告 ~現金保有が増えてしまっています~

2017/10/27,11週目の投資の収支報告です. 2日後までずれ込んでしまいました.

2017/10/27 11
資産の部       増減   負債の部   増減
900800       5600 900800 5600
株式 579700       -113600      
    投資資金 556300   -111600      
    含み益 23400   -2000 利益剰余金 100800 5600
現金 321100       119200
        新規売 119200 自己資本 800000 0
        新規買 0

5000円と微増です. 追加投資を検討する暇がなく,現金保有が増えてしまっているためです.

保有銘柄はこちら.

銘柄 保有株数
(売却注文中)
取得単価
現在値
取得金額
評価額
評価損益
片倉
3001
100 1,271
1,417
127,100
141,700
14600
ウェーブロックHD
7940
100 1,318
1,357
131,800
135,700
3900
KDDI
9433
100 2,974
3,023
297,400
302,300
4900

シモジマが想定価格を超えたので,売却しました.

11週での利益は,12.6%となりました. 伸びは鈍化しても,変わらずの好調です.

忙しさにかまけてはいけないのはわかっているのですが, なかなかうまく投資を考える時間がありません. 日経平均株価も上昇し,気合の入れどきなのですが......

ただ,こういうときは焦らず急落を待つのも手かもしれません. 攻めて,暴落したときに買う銘柄だけは検討しておこうと思います.

ヴォイニッチ手稿の文字をWord2Vecで(Char2Vecで)解読する

はじめに

面白い記事を見かけたので,久々にヴォイニッチ手稿の解析です.

alpha.mixi.co.jp
Word2Vecと呼ばれる単語のベクトル化手法を,単語の代わりに文字に適用してベクトル化してみたというものです.記事のポイントは数字と漢数字をベクトル化すると加減算の答えがあっており,数字という文字の意味を捉えられている,という話です.


今回はヴォイニッチ手稿の文字をChar2Vecでベクトル変換して,類似した文字の可視化とクラスタリングをしてみようと思います.
 

前置き

Word Embedding自体は単語をベクトルにする手法全てを指しますが,有名なのはCBoWとSkip-gramの2種です.今回用いるのはpython向けのWord2Vecの実装であるgensimにある,Skip-gramになります(だよね?).Skip-gramの理解はこちらの記事がわかりやすく,参考になりました.
Word2Vec のニューラルネットワーク学習過程を理解する · けんごのお屋敷


なお,今回Word2Vecに加えてPCA,階層的クラスタリングと,専門的な手法を幾つか使っているのですが,どういうものかは一切説明しておりません.そのため,各手法を知らない人には理解しがたい文書になっているかもしれません.いずれ説明しようかと思いますので,今回は結果だけ速報ということで許していただきたいです.


また,gensimというpython向けの言語処理ライブラリを筆頭にscipy,scilit-learn,pandas,pyplotを使いますが,これらは全てインストールされていることを前提に進めています.
これらは解説記事が非常に多くありますので,別サイトをご参考いただくということでご容赦ください.


データの成形と入力

まずは入力データをChar2Vecにできるように,データを1文字ごとに半角スペースで区切ったデータにします. 

def char2vec(filename,outname):
    infile = open(filename,"r")
    outfile = open(outname,"w")
    for line in infile:
        if line[0]=="#":
            continue
        outfile.write(" ".join(list(line)))
    infile.close()
    outfile.close()

データを文字区切りにした後,一度ファイル出力しています.
データは以前と同様にFSG.txtを利用しています.


その次に,データを読み込んでSkip-gramを学習します.

filename = "FSG.txtのパス"
outname = "文字区切りデータの中間出力先ファイル"

char2vec(filename,outname)

from gensim.models import word2vec
sentences = word2vec.LineSentence(outname)
model = word2vec.Word2Vec(sentences,sg=1,size=30,min_count=1,window=2,hs=1,negative=0)

ベクトルの次元はとりあえず30次元としています.窓サイズ(学習時に相関を見る周辺の大きさ)はあまり大きくすると文全体を見てしまいそうなので,近くの文字だけ見るように2としました.データを一度出力してもいいですが,学習データが小さくそれほど計算時間がかからないので,そのまま分析まで行なっています.


単語分布図を描く

まずは,学習したデータを主成分分析(PCA)でベクトル次元数を2次元に落とし,単語の分布図を書いてみました.文字分布図の表示はこちらを参考にさせていただきました.
qiita.comqiita.com
文字の種類数が少ないので,全ての文字を表示しているところが違いです.

from sklearn.decomposition import PCA
import matplotlib.pyplot as plt

def draw_word_scatter():
    """ 単語の分布図を描く """

    words = [x[0] for x in sorted(model.most_similar("-", topn=100))]
    words.append(word)

    vecs = [model[word] for word in words]

    # 分布図
    draw_scatter_plot(vecs, words)

def draw_scatter_plot(vecs, tags, clusters=None):
    """ 入力されたベクトルに基づき散布図(ラベル付き)を描くためのメソッド """

    # Scikit-learnのPCAによる次元削減とその可視化
    pca = PCA(n_components=2)
    coords = pca.fit_transform(vecs)

    # matplotlibによる可視化
    fig, ax = plt.subplots()
    x = [v[0] for v in coords]
    y = [v[1] for v in coords]

    # 各点のクラスターが設定されていればクラスタを考慮
    # エラーハンドリングは適当
    if clusters:
        ax.scatter(x, y, c=clusters)
    else:
        ax.scatter(x, y)

    for i, txt in enumerate(tags):
        ax.annotate(txt, (coords[i][0], coords[i][1]))
    plt.show()

ヴォイニッチ手稿の文字のクラスタリング結果がこちら.
f:id:shounenA:20171021232419p:plain 

今回は文字も区切り文字も全部含めて分析しました.単純に分析が楽なのもありますが,単語間の空白や行末が意味を持つものかどうかがかわからなかったためです.
「-」は文の終わり,「=」は文書の終わりを示すのですが,近い位置にあります.これはつまり,2つの文字がベクトルとしては近いということであり,つまり同じような単語と使われている傾向が高いということです.区切り用に表現した文字をきちんと同じものだと認識しており,Char2Vecで特性を解析できていると期待が持てます.


他にも,なんとはなくですが,文字が幾つかのまとまりを持っているように見受けられます.近くにある文字は同じような意味や役割を持つ文字群として,クラスタリングできるかもしれません.


ヴォイニッチ手稿の文字をクラスタリングしてみる

ということで,文字のクラスタリングをしてみました.上記サイトを再び参考にさせていただき,階層的クラスタリングでベクトル化した文字をクラスタリングしました.


結果がこちら.
f:id:shounenA:20171021232433p:plain
非常に面白い特性を捉えられました.

「e」「t」「i」は,他の文字と異なるベクトルを示し,特殊な意味を持つ文字だと考えられる.

階層的クラスタリングを行なった結果のデンドログラムでは,
「e」「t」「i」などの文字は右側のクラスたに集められ,他の文字と比べて距離が遠いことを示唆しています.
このことから,「e」「t」「i」は他の文字とは出現位置が異なる,特殊な文字であると予測することができそうです.

「C」「D」「G」は他の文字に比べて独立しており,単独で意味を持つように見受けられる.

 「C」「D」「G」の3文字は,他の文字たちとクラスタを形成せず,3文字だけ独立しています.
こちらの文字たちも,「e」「t」「i」と同様に意味を持ちそうです.
ただ,これらの文字はそれぞれが他の単語と比べてやや類似性が低く,特殊な意味を持つかもしれません.
例えば,過去/現在/未来の時制を示すなど.どうでしょうか?

文字はいくつかの類似した文字群に分けられそうである.

階層的クラスタリングの結果は,類似した文字の集合を形成した後に,各集合をまとめるように層が作られています.
明らかに,幾つかの文字のクラスタに分かれています.
もっとも,これがクラスタリングの手法による結果であるなど,バイアスがかかった結果である可能性は大いにあります.
しかしながら,合計で7つほどのクラスタを形成する様子は,各文字が品詞に対応するかもしれない,など,様々な期待をさせてくれます.
このあたりは,次回に是非解析していきたいと思います!


最後に

今回は,ヴォイニッチ手稿のデータをWord2Vecにかけて,非常に面白い結果が得られました.
次回はこれを更に発展させて,文字や文字Bi-gramでの結果を深掘りしていこうと思います.

 

2017/10/20 株式収支報告 ~日経平均に対して変動薄し~

1日遅れてしまいましたが,2017/10/20,10週目の収支報告です.

2017/10/21 10              
資産の部       増減   負債の部   増減
895200       4750 895200 4750
株式 693300       4750      
    投資資金 667900   0      
    含み益 25400   4750 利益剰余金 95200 4750
現金 201900       0      
        新規売 0 自己資本 800000 0
        新規買 0      

黒字ではありますが,現金保有が多いため,伸びはいまいちです.

日経平均は12連騰の記録ですが,マザーズが冴えないのが要因ですね.

 

保有銘柄は,変動なしです. 

銘柄 保有株数
(売却注文中)
取得単価
現在値
取得金額
評価額
評価損益
片倉
3001
100 1,271
1,398
127,100
139,800
12700
シモジマ
7482
100 1,116
1,177
111,600
117,700
6100
ウェーブロックHD
7940
100 1,318
1,311
131,800
131,100
-700
KDDI
9433
100 2,974
3,047
297,400
304,700
7300

今週は仕事が忙しく,取引をする余裕がありませんでした.

来週は現金をどうにかしていきたいと思います.