【読書感想6】これからパンローリングの投資本を読む人へ ──万年初級者の残念な思考と姿勢

読んだ本

選んだ理由

パンローリングの投資本をこれからいくつか読むだろうから Kindle Unlimitedでみれるから

得たい知識

これから投資本を読む上での心構え

読了後の姿

次の投資本を選べる

気づき

全体として、以前読んだ「デイトレード」とも通じるような心理面の内容がわかりやすく書かれていた。後半は、少し手法にも触れているが、重要なのはやはり心理的なところだろうか。

修業期間のひとつの目安として、投資経験5年、投資本50冊、売買経験500回を目標に設定してみるとよいでしょう。

とのこと。パンローリングという出版社の本を読む前にの本だから、当然ながら本という情報ソースへの信頼度が高めという印象は受けるが、実際本を読まなければ地固めの知識は身につかないだろうと思うので、頑張る。

二人の私を使い分けるという考え方も共感できた。データ分析から売買ルールを作成する「技術者」と、それに基づき淡々と売買と記録を行う「執行者」という二人に分けるという考え方。 この分け方をしていないがために、私自身も、ポジションを持ってから増えていく含み損を眺めながらTwitterをひたすら検索し、

自分のポジションを〝肯定〟してくれる情報しか受け入れません。

という、まさに本に書かれた状態に陥っていたので、何とか回避したい。

投資は勝ったり負けたりするものであることを前提に、いかに平常心を保てるかが大事。修行をして、平常心を裏打ちできる自信をつけていくということだと理解した。

TODO

投資時は「技術者」と「執行者」という二人の私を使い分ける。

【読書感想5】世界一やさしい FXチャートの教科書1年生

読んだ本

選んだ理由

FX自体は半年ぐらい前から口座を作ってボチボチやっていたが頻度が少なくまじめにやってなくて全然ダメなので、改めて基礎を学びなおして再入門したい。ちなみにこの本はFX口座開設キャンペーンみたいなのでタダでもらった。

得たい知識

知っていることを体系的に再確認する

読了後の姿

FXを再開する。基礎を学びなおして自信をつけられれば。 まだ心配そうなら、他にもある読んでないFXの本を読み進める。

気づき

  • 予想通りだが、もともと大体知っていることだった。著者の人はYouTubeで動画も出しており、そちらでも同様の内容をサラッと勉強していたため、復習という感じでするっと入ってきた。

  • おおむね納得感のある感じで各インジケータなどの解説が書かれており良かった。1点だけ、チャネルラインを抜けた後に、2倍のところまで進む、ということの理由に触れられてなかった。別サイトで追加学習。結局はみんなが使うラインだから、ということか。 treblofx.com

  • よく使われるものに大体言及されている印象だったが、フィボナッチリトレースメントに触れられてなかった。これも追加学習が必要かも。なんとなくはわかっているけど、理解はできていない気がする。

  • 最後の実チャートで演習形式で説明というのは、正直過去のチャートなんて後から何とでもいえるだろうと思っていて今まで敬遠気味だったのだが、思いのほかわかりやすかった。

  • グランビルの法則も、何回か使われていたがまだしっかりは身についていないので復習を続ける。

  • チャートの教科書というだけあってか、ファンダメンタルズについてはほぼ触れられていなかった。最後のほうに見ておいたほうがよいニュースサイトが紹介されているくらい。

TODO

  • フィボナッチリトレースメントは別の方法で学んでおく。Youtubeの動画でも見るか。

次読む本

  • 同著者の「クイズを解いて勝率アップ! FX チャート&資金管理 実践トレーニング」という本も実は口座開設キャンペーンでタダでもらったので、続けて読んでみる。せっかく、実チャートでの演習形式の説明がしっくり来たので。

余談

タイトルから見た目から、めちゃめちゃ似ている本があるが、著者が違うようだ。最初リンクを張り付けるときに迷った。

【読書感想4】学び効率が最大化するインプット大全

読んだ本

選んだ理由

同著者の「アウトプット大全」を読んでためになったから

得たい知識

  • 効率的なインプット方法。特に読書に関して。
  • インプット対象の選定方法

読了後の姿

次に読む本を選ぶことができ、そこから効率的に知識を得られる

気づき

最後まで読み進めてみると、本の選び方以前に、インプットの時間の作り方ができていないことに気づいた。この本ではどうやって時間を作るか、ということにも言及していたので、TODOではそれも重視してみる。

  • インプットと目標設定はセット、シェア前提のインプットをするとよい、というのは、これまで読んできた本と同じことを言っている。いま継続中。

  • 見直し、復習することで知識が定着する。復習は今明確にタスクとして設定はできていない。目安は2週間で3回。

  • 質の良いインプットをする目的では、スマホを制限したほうが良い。やっぱりツイッター見てしまうので…。同時に、必要な情報を自分からダラダラと探すのではなく、自動で集まってくるような仕組み=「情報の宅配便化」もやっていくと時間が有効に使えそう。

  • 本が言いたいこととはちょっとズレてるかもしれないが、人と会うことも重要だと感じた。最近友人とのつながりが希薄と感じるので、特にこの時代だからこそ、つながりを維持していきたいところ。

  • 能動的な趣味として読書やスポーツが挙げられている一方で、受動的な趣味としてゲームが挙げられていたがこれには違和感。ゲームって結構能動的な趣味だと思う。e-sportsがだいぶ浸透してきていて、本気でやろうとしたら尋常じゃない努力や精神力が必要なものだし。ソシャゲの脳死周回とかはどうなの?って思うかもしれないが、そこに至るまでに効率化を考えるだろうし頭を使うよね。

TODO

  • このブログを見直して復習とする。週末に2週間前までに書いた記事を見直す。ブログ記事を書いたことでアウトプット1回、見直しでインプット2回で2週間に計3回の確認ができるはず。

  • Androidの、Digital Wellbeingなる機能を使ってアプリに使用時間の制限をかけてみる。手始めにTwitterYoutubeを30分ずつにする。これによりほかのことをする時間を確保。

  • しばらく連絡してない友人に連絡してみる。

# 次読む本

これでペンディングになっていた読書術などインプット・アウトプットに関する本は片付いた。今は投資と心理学に興味あるのでその辺に手を伸ばしていく。

【読書感想3】知識を操る超読書術

読んだ本

選んだ理由

Kindle Unimitedで読み放題だったから。あとDaiGoが書いてるから。最近炎上しまくっているが読書スピードがすごいのは事実だと思うし食わず嫌いも良くないということで。

気づき

  • アウトプット前提で読書をすると定着しやすく良いということは今まで読んだ本と共通であった。同ジャンルの本を読んでいくと目新しい要素は減ってくるかも。ただ、この本ではアウトプット前提というよりはもっと広げて「本を読む準備」をしているかどうかが重要と言ってる。

  • 世の中の本は既存の知識が半分くらいで著者の意見と新しい知識がちょっと追加されているものがほとんど。ビジネス書は確かにそんな気がする。だからこそ、数冊わかりやすい本を読んでなんとなく基礎知識がついてきたところで、その分野で「古典」(というよりはバイブル?)と呼ばれる本にあたるのがよいと思う。

  • 思い出すこと、休憩をとることが知識の定着には重要。復習というよりは、頑張って記憶をたどって思い出したほうが良いらしい。

TODO

「本を読む準備」をする。アウトプットは前提にできているから、インプットの前準備として、読む前に読む理由、得たい知識、目指す姿を決めておく。

次読む本

読書術はいったん良いかな…と思うので、もともと読み進めたかった投資系の本に戻る。

【読書感想2】頭がいい人の読書術

読んだ本

選んだ理由

読書を進めていくならやっぱ読書術もある程度身に着けていきたいと思っており、Kindle Unimitedで無料で読める本の中で「読書術」で検索したら一番上に来たから。

感想

表紙にもあるとおり、著者の尾藤克之さんは1冊10分で読むとあって早すぎると思ったが、ビジネス書を読むのに慣れてくれば可能なのか…?

また、この本もアウトプットの大切さを言っていた。

気づき・TODO

本は自分の好きに読めばいい

ということ。(特に買った本は)もったいない気がして、どうしても隅々まで読まないといけない気がしてしまうが、楽しんで読まないと続かない。

3分の1リーディングという考え方も取り入れたい。文章の上のほうだけ読んでも何となく内容がわかってしまうというやつ。これをやるとかなりのスピードで読めそう。そうするとやっぱりわからないところは出てくると思うが、

大切なところは2割程度。残りの8割は捨てても構わない

ってことなので、すべて吸収できなくても気にせず、気になるところ、新しいところにチェックを残しつつどんどん読み進めていくことにする。ペンで書き込みながら読むことを推奨していたが図書館で借りた本に書き込みはできないので外部にメモするしかない。付箋も糊が結構残るので借り物にはダメです。この辺は不便だがタダなので文句は言えない。なお、Kindleはマーカーを引けるので便利だ。

ということで、すべてを理解しようとせず、一部でも吸収出来れば良いという考えで読む。つまんなかったらやめる。

次読む本

「知識を操る超読書術」ウィッシュじゃないほうのDaiGoの本。これもKindle Unimitedで読める。

【読書感想】学びを結果に変えるアウトプット大全

読んだ本

ビフォー

先日立ち寄った図書館で、Amazonのランキングにも入っていたこの本が目に留まり、なんとなく読んでみた。本を読まなくなって久しく、最近投資の勉強など始めて本を買ったものの積んでいたが、この本はサクサク読めた。

気づき

  • タイトルの通り、アウトプットが大事。仕事ではPDCAとかいって行動してフィードバックが重要というのは耳タコ。しかし個人の活動となると本を読んで終わり、とかが結構多く、身についてないことが多かった。
  • アウトプットは紙に書くのがオススメ。この本ではもちろんデジタルの良さも否定してないが、書くという運動が脳みそにも効くらしい。
  • 文を早く書くコツは、時間を決めて書くこと。めちゃめちゃ時間をかけてもかけた時間に単純に比例して質が上がっていくかというとそうではない、というのは、自分でいろいろ資料を作った経験からも確か。
  • TODOリストを朝イチで紙に書くのがいい。そういえば昔やっていて、やっていた時期はいい感じだったが忙しくなってきてやめてしまった気がする。
  • クリエイティブな活動にはぼーっとする時間も必要。そういう時にひらめきが生まれる。ついやってしまうのだが、時間が勿体ないからと、一生スマホを触っているのもよくないようだ。
  • 引用ネタは普段からストックしておくとよい。確かに私も何か書いているときに、「そういえば昔、何とかって記事を見たことがあるな」と思って引用しようと探しても結局見つけられず詰むことが多い。
  • 「続ける」ためには結果を記録するというのがいい。確かにゲームもレベルやステータスなどで結果が数値化されているから続けたくなる気持ちがあるかも。
  • 読書感想文は「ビフォー」「気づき」「TODO」のテンプレがオススメ。TODOを書くのが重要な気がする。(すでに使わせてもらっている)

TODO

  • まさに開始したこのブログに読書感想を載せていく。まずは続けることが大事だと思うので、質はそこまで気にせず、書きながら改善を図っていく。
  • TODOリストを朝イチで紙に書くのを再開する。物理的に存在して、必ず目に入る場所にTODOが置いてあるのは適度なプレッシャーになるし、終わったやつを消すのはやっぱり快感。

次に読む

  • 本をベースとして学習を進めていきたいので読書術の本を読む。
  • 積んでいた投資の本を読む。
  • 著者の樺沢紫苑さんが出している「インプット大全」のほうも図書館にあったので読んでみる。

最短手順でtensorflowのDeep MNISTサンプルを実行

お仕事の一環としてTensorFlowを触ってたんだけど
あくまで仕事なんでいろんなしがらみがあってそんなに自由に遊べなかった。

自宅のLinux環境が整ったんでこれでやりたい放題できると思ったんだけど
前回記事参照の通りなんか音出ないので、今月中にUbuntu 16.04入れなおすのを見越して
Ubuntu 14.04でTensorFlowのMNISTサンプルを動かすまでの手順をとりあえずメモっとく。

インストール

Download and Setup
以下の三行を実行してpythonとtensorflowを入れる。
3行目はGPU使う場合で、Compute Capabilityが3.0以上あるGPUじゃないといけないんだけど、
うちのグラボGTX 560 Tiは2.1しかない化石なので意味ない。でも入れとく。

$ sudo apt-get install python-pip python-dev
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.7.1-cp27-none-linux_x86_64.whl
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.7.1-cp27-none-linux_x86_64.whl

コード

Deep MNIST for Experts
ここのコードを順番にコピペして適当な名前つけてpythonで実行。
結構面倒なので以下に貼る。

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data', one_hot=True)

import tensorflow as tf
sess = tf.InteractiveSession()

x = tf.placeholder(tf.float32, shape=[None, 784])
y_ = tf.placeholder(tf.float32, shape=[None, 10])

W = tf.Variable(tf.zeros([784,10]))
b = tf.Variable(tf.zeros([10]))

sess.run(tf.initialize_all_variables())

y = tf.nn.softmax(tf.matmul(x,W) + b)

cross_entropy = -tf.reduce_sum(y_*tf.log(y))

train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)

for i in range(1000):
  batch = mnist.train.next_batch(50)
  train_step.run(feed_dict={x: batch[0], y_: batch[1]})

correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))

accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))

print(accuracy.eval(feed_dict={x: mnist.test.images, y_: mnist.test.labels}))

def weight_variable(shape):
  initial = tf.truncated_normal(shape, stddev=0.1)
  return tf.Variable(initial)

def bias_variable(shape):
  initial = tf.constant(0.1, shape=shape)
  return tf.Variable(initial)

def conv2d(x, W):
  return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME')

def max_pool_2x2(x):
  return tf.nn.max_pool(x, ksize=[1, 2, 2, 1],
                        strides=[1, 2, 2, 1], padding='SAME')

W_conv1 = weight_variable([5, 5, 1, 32])
b_conv1 = bias_variable([32])

x_image = tf.reshape(x, [-1,28,28,1])

h_conv1 = tf.nn.relu(conv2d(x_image, W_conv1) + b_conv1)
h_pool1 = max_pool_2x2(h_conv1)

W_conv2 = weight_variable([5, 5, 32, 64])
b_conv2 = bias_variable([64])

h_conv2 = tf.nn.relu(conv2d(h_pool1, W_conv2) + b_conv2)
h_pool2 = max_pool_2x2(h_conv2)

W_fc1 = weight_variable([7 * 7 * 64, 1024])
b_fc1 = bias_variable([1024])

h_pool2_flat = tf.reshape(h_pool2, [-1, 7*7*64])
h_fc1 = tf.nn.relu(tf.matmul(h_pool2_flat, W_fc1) + b_fc1)

keep_prob = tf.placeholder(tf.float32)
h_fc1_drop = tf.nn.dropout(h_fc1, keep_prob)

W_fc2 = weight_variable([1024, 10])
b_fc2 = bias_variable([10])

y_conv=tf.nn.softmax(tf.matmul(h_fc1_drop, W_fc2) + b_fc2)

cross_entropy = -tf.reduce_sum(y_*tf.log(y_conv))
train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy)
correct_prediction = tf.equal(tf.argmax(y_conv,1), tf.argmax(y_,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
sess.run(tf.initialize_all_variables())
for i in range(20000):
  batch = mnist.train.next_batch(50)
  if i%100 == 0:
    train_accuracy = accuracy.eval(feed_dict={
        x:batch[0], y_: batch[1], keep_prob: 1.0})
    print("step %d, training accuracy %g"%(i, train_accuracy))
  train_step.run(feed_dict={x: batch[0], y_: batch[1], keep_prob: 0.5})

print("test accuracy %g"%accuracy.eval(feed_dict={
    x: mnist.test.images, y_: mnist.test.labels, keep_prob: 1.0}))

完コピするとビギナー向けのコードも最初の方に含んでるので注意。
さんざん見てきたコードなのでコメント書かなくても読めるが、
ちゃんと意味わかりたいという人は
blog.brainpad.co.jp
こちらを参考にするとよいです。とても有益なコメントが書いてあります。
とくに全結合層の説明が丁寧です。ストライドが2で半分になる理由までは書いてないけど。
僕がこのコードをゲロ吐きながら弄ってた頃にはまだなかった新しめの記事です。

で、終わるとこんな感じ。

test accuracy 0.9931

real	31m1.557s
user	167m12.196s
sys	13m49.692s

8コアで30分くらい。

今後は今更感あるがとりあえず画像認識をやりたい。