5ex_Labo

資本主義を戦う理系大学生のブログ

円高

明けましておめでとうございます。

新年早々落とし玉お年玉が降ってきたみたいで、退場者続出のようですね。

今回の急落はさておいて、そもそも為替レートってどういう風に決まるんでしたっけとという話をば。

結論から言ってしまうと、短期的には需給の影響を大きく受けるけど、長期で見ると予想実質金利の差が円高・円安を決定するというのが大方の見方。

これは以下の理由による。以下ではドル円レートを例にとって解説する。

投資家が円預金を選ぶかドル預金を選ぶかは、「円金利」と「ドル金利+予想為替差益率」の大小による。つまり、前者の方が高ければ投資家は円預金を選び、後者ならドル預金を選ぶ。

言い換えると、日米の(名目)金利差が為替レートの予想よりも大きければ円預金・小さければドル預金が選ばれるということだ。

ここで為替レートの決まり方を考える。為替レートは購買力の差であり、デフレ通貨はインフレ通貨よりも購買力が強くなることから、予想為替レートは予想インフレ率の差であると言える。

以上より導き出される結論は「日米の(名目)金利差と日米の予想インフレ率差の大小で円高・円安は決まる」ということになる。名目金利から予想インフレ率を引くと実質金利となるので、上の結論は「日米の予想実質金利差が円高・円安を決める」と言い換えられる。

駆け足になったが、本日ここに書いた内容は以下の本にすべて載っている。ぜひご一読を。

 

デフレと超円高 (講談社現代新書)

デフレと超円高 (講談社現代新書)

 

 

 

自分用tips集その2

以前上げたtips集の続きです。

5ex.hatenablog.com

1.exit()でプログラムの終了

uxmilk.jp

条件に当てはまらない場合は'No'を出力みたいな問題で、かつ多重ループを使うとき、breakとcontinue文を組み合わせたりすると、コードを書く量が多くなりがち。

どうせ'No'を出力してプログラムを終了させるんだから、ループを抜ける必要なんてなくてexit()でプログラムを終了させればよくね?的な時に使える。

 

2.最大公約数・最小公倍数を求めるアルゴリズム

cocodrips.hateblo.jp

最強。脳死状態でも書けるようにするべき。

 

3.切り捨て・切り上げの書き方

nihaoshijie.hatenadiary.jp

ceil, floor関数とかintとかを使ってた自分には1の書き方が衝撃だった。

 

4.辞書の要素をループで回す

note.nkmk.me

この書き方に徐々に慣れていかねば、、と思ってるところ。

辞書型はcollectionsのCounterクラスとかを使ってるとしばしば出現する。

 

ちなみに先日のABC109は全完でした。パフォ1285

f:id:betaorix:20180909110453p:plain

年末までの目標集

前記事に引き続き今回も完全に自分用。もう自分用みたいなカテゴリ作ろうかな

文章だけ書いてても味気ないので書籍紹介ページにします()

英語

究極の英単語 SVL Vol.4 超上級の3000語 (究極シリーズ)

究極の英単語 SVL Vol.4 超上級の3000語 (究極シリーズ)

 

 先ほど買ってきたのでやります。SVL 9はちらっとみた感じいけそうだったので10-12にチャレンジ。市販の英単語帳だとトップクラスなのでは?って気がする。

Barron's TOEIC: Test of English for International Communication

Barron's TOEIC: Test of English for International Communication

 

家に積んであるので適当に折をみてやります。目指せ1000点!

競プロ

プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?

プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?

 

 Atcoderで水色(できたら青)ぐらいが年内の目標ですかね(C++わかんないけど)

大学

残り12単位、、取らなきゃ卒業できない、、

卒論、、書かなきゃ卒業できない、、

ベガロング!!!って言い続けるだけの書籍。マンデルブロの言う通り市場がベキ分布なのだとしたら(ベキ分布なんだろうけどさ)、 確かにロングストラドル戦略が一番いいってことになるんだよね

負けるとしたら資金がショートすることによる出血多量死と。

金融

 ジョン・ハルの名著"Option, Futures and Other Derivatives"の翻訳本。1400ページ越えのボリュームで、文鎮の役割も果たしてくれる一石二鳥タイプ。それでいてお値段なんとたったの12960円。クソ。

中身はわかりやすいことこの上ないので、年内に読了できるように頑張ります。

バランスシート不況下の世界経済 (一般書)

バランスシート不況下の世界経済 (一般書)

 

 インターン先のメンターに勧められてまだ読み終わってない本。(だってFinance Majorじゃないから読むのに時間かかるのしょうがないじゃん)

バブル崩壊後の日本経済において、各企業が赤字を減らすためにバランスシートの縮小に動いた結果、銀行の新規貸出が伸び悩み、経済が停滞した」状況を「バランスシート不況」と名付け分析した書籍。これを読み終えたら以下も読んでみたいと思って流けど先日5ページ読んで挫折した苦い経験が、、、

次なる金融危機

次なる金融危機

 

AI・機械学習

はじめてのパターン認識

はじめてのパターン認識

 

 界隈では定番の『はじパタ』。すでに半分くらいは読んでるので夏休み中には終わらせたい。

はじパタが終わったらこれかな、通称『みどりぼん』。 

後期の合間時間を使ってチマチマ勉強していくつもり。

この本はすでにある程度取り組んでるけどそれなりにわかりやすいと思う。網羅的ではないので、Deep Learningの入りの部分ってことになるのかな。

自分用tips集

お久しぶりです。

AtCoder ProblemsのC問題あたりを埋めてるここ1週間って感じだったんですけど、案外いけるもんですね。平均30分くらいで解き進めてます。

数論とか図形とか、ちょっと数学・パズルっぽい問題の方が解きやすくて、グラフとかのテクニカルな話題になると時間かかるんで「「「勉強量」」」って感じですね。

蟻本とか螺旋本とかやればいいんでしょ、C++やればいいんでしょ

今日はここにPythonで競プロをやる上でのtipsを羅列していきます。もう完全に自分用です。

1. 階乗して10^9+7で余りを求めるみたいな問題で、逐次modを使って計算すると時間短縮になるよって話(参照:C - Reconciled?

qiita.com

2. for-else,while-else構文とbreakの組み合わせでスマートに繰り返しの例外処理をできるって話

www.pythonweb.jp

qiita.com

for文を最後まで回すと勝手にelse以降の処理が付いてくるけど、途中でbreakするとelse以降の処理はなされないっていうのが趣旨。

 

3. 配列とかの出力時はjoinを使うと良さげ

www.sejuku.net

qiita.com

joinは「文字列(配列)を連結する」ものだから、数値はstr()で文字列に変換してあげる必要があるということみたい。

では今日はこんなところで

競プロに片足突っ込んだ話

競プロに片足突っ込んでます。

片足突っ込んだ挙句、もう片足も突っ込んでソフトウェアエンジニアになるか、もう片足は金融に突っ込んでクオンツファンドマネージャーになるか、そこは考え中です。

ひとまずAtCoderの初心者用問題10問は解き終えたところ。ソートも使わずPythonで突っ込んでいくあたり、初心者感丸出しですが、、勉強不足は、まあ、有り余る才能でカバーしたいと思っております。

レーティングを見た感じ、今年中に水色とかが程よく厳しい目標なんですかね。アルゴリズムとかデータ構造の授業は数年前に受けて記憶の彼方なんで、コンテストに参加しつつそこら辺の復習から始めることにします。

shibh308.hatenablog.com

 

色々やることはありそうですね、、それに加えて最近マーケットに触れてないんでFXでも始めますかーって思ってるこの頃です。

締まってないけど、今回はこんなところで

Pythonを使ってBloombergからデータスクレイビングする話

こんばんは、気づいたらUSのマーケット開いてますね、夜です。

SPXは順調に過去最高値を目指して行進中です。

さて、今日のテーマはタイトル通りです。個人でもマーケットのリアルタイムデータが取りたい的なモチベーションでデータスクレイビングを思い立ち、通貨・商品のデータも揃ってるBloombergから拝借するかーみたいなノリでおもむろにコーディングし始めた感じです。

当方スクレイビングは初心者なこともあり、ネットの記事のツギハギでようやく完成しました。データ乞食するためにソースコードまで乞食する、情けない限りです。

まず参考にしたサイトがこれ。

qiita.com

これが大枠です。ところがPython3に適用するところで問題発生。

そこで参考にしたサイトがこれ。

teratail.com

スクレイビングの基礎知識って意味でこれも。

qiita.com

これで完成したのが以下のコード(ほぼ丸パクリ)。

 

# coding: UTF-8
import urllib3
from bs4 import BeautifulSoup

# アクセスするURL
url = "https://www.bloomberg.co.jp/quote/SPX:IND"

# URLにアクセスする htmlが帰ってくる
http = urllib3.PoolManager()
response = http.request('GET',url)

# htmlをBeautifulSoupで扱う
soup = BeautifulSoup(response.data, "html.parser")

# div要素全てを摘出する→全てのdiv要素が配列に入ってかえされます→[<div class="m-wficon triDown"></div>, <div class="l-h...
div = soup.find_all("div")

# print時のエラーとならないように最初に宣言しておきます。
price = ""
# for分で全てのspan要素の中からClass="price"となっている物を探します

for tag in div:
    # classの設定がされていない要素は、tag.get("class").pop(0)を行うことのできないでエラーとなるため、tryでエラーを回避する
    try:
        # tagの中からclass="n"のnの文字列を摘出します。複数classが設定されている場合があるので
        # get関数では配列で帰ってくる。そのため配列の関数pop(0)により、配列の一番最初を摘出する
        # <div class="hoge" class="foo">  →   ["hoge","foo"]  →   hoge
        string_ = tag.get("class").pop(0)

        # 摘出したclassの文字列にpriceと設定されているかを調べます
        if string_ in "price":
            # priceが設定されているのでtagで囲まれた文字列を.stringであぶり出します
            price = tag.string
            # 摘出が完了したのでfor分を抜けます
            break
    except:
        # パス→何も処理を行わない
        pass

# 摘出した価格を出力します。
print(price)

 

次回は時系列データを取ってきたり、銘柄ごとにデータ取ったりみたいな話になると思います。では。

自己紹介

初めまして、5ex_です。

簡単に自己紹介をすると

こんな感じです

トレーディングの成績、自身の学習過程のメモみたいな感じで使わせてもらおうと思います。

どうぞよろしくお願いいたします。