2020年4月 支出振り返り
今月の出費10万円台らしいです。えっ嘘でしょ…?
小計
食費 18,112円
基本的に自炊です。最近は手を抜いてインスタント麺を食べることが多くなってきました。タンパク質もちゃんと取ってます、最近は魚も食べるようにしています。
交際 6,123円
リモート飲み会が3回ほどありました。半分くらいは経費で落ちます。
文化 1,304円
ミックスやリミックスを作るために楽曲を買ったりしました。
交通 2,000円
電車にも乗ることがありません。
住居 58,820 円
これにはちょっと裏があって、以前買った米代の分が返ってきたので額面が小さくなっています。
書籍 1,430円
与沢翼さんの新刊本を買いました。
備消 13,609円
竹製の机を買ったりAffinity Designer買ったりしました。
あとRakuten Miniを買ったつもりだったんですが契約がうまくできていなかったみたいで、eSIMだけ届いて製品が購入できていなかったのでその分が加算されていないです。
購読 2,724円
定額です。
雑費 984円
妹に本を送った送料です。
雑損 1,000円
現金からちょうど千円消えてました。謎。
総評
在宅勤務が極まっており、恐ろしく出費が少ない月でした。
来月は実家に帰る可能性が高く、そうなると食費が計上されなくなります。
10万円も給付されることだし、いよいよお金を使うという感覚がバグってきそうです。
Twitchでライブ配信の準備した覚書
曲のリミックスを実況配信したいと思って、ツイキャスでもPeriscopeでもないとすると今時はTwitchだろうと思って調べてみると初期設定がいろいろ必要だったので、この際インストールの必要を感じていたOBS Studioも合わせてライブ配信の準備をしました。
やり方はこことかここを参考にしました。
やったこと
Twichのアカウントをつくる
Twitchは利用したことなかったんですが、意外とアカウントなかったので作りました。
作ったときに強制的に3つチャンネルを登録させられます。勝手に配信が流れ出すのでビビります。
韓国YouTuberとかの動画で見たことあったチャットのインターフェースが実はTwitchのものだったことを初めて知りました。
OBS Studioをインストールする
OBS Studioが今のライブ配信ツールのデファクトスタンダードっぽいです。便利ですね。
設定はガイダンスに従ってポチポチしていると自動的に適正化してくれます。
Soundflowerをインストールする
これはすでにインストール済みでした。デスクトップ内の音声を拾うのに必要です。
LadioCastをインストールする
これは拾ったデスクトップ内の音声をマイクとかとミックスするやつです。
入力と出力をいい感じにすると、ミックスされた音が出力されます。
最初これでPC内の音声が入ってなくて、なんでだろうと思ったらDTMソフトの出力がデスクトップのままでした。そっちもSoundflowerに合わせたら無事ミックスされました。
自分のチャンネルはここです。
テストでライブ配信してみましたが、音がめっちゃ悪いのと、DTMソフトの扱いが全然できないのですぐに終わりました。音はやっぱりオーディオインターフェース必要なんだなと思いました。DTMソフトはAbleton Liveが意外と安かったので、時間が確保されたら買ってちゃんとやりたいです。
SUZURIでやるぞ!!Tシャツ作った
やるぞ!!Tシャツを作ってSUZURIに出しました。
やるぞ!Tシャツ https://t.co/YTOEfdeA9t #suzuri 作りました
— 美味いアーメン屋のマタイ (@silloi93) 2020年4月19日
在宅勤務が続き気分が盛り上がらないので、やるぞ‼のTシャツを作りました。 #おうち時間 #SocialDistancing pic.twitter.com/0hqIawEPWH
— 美味いアーメン屋のマタイ (@silloi93) 2020年4月19日
元画像は「大阪ヘルスバンクニュース掲示板」で検索すると出てきます。
西成のパブリック・コモンズみたいなものなので著作権とかは大丈夫だと思います。
Affinity Designer がコロナで半額になっていたので購入しました。
Adobe Illustratorより安価で軽量なのでこっちの方が好きです。
いいねお願いします。
2020年3月 支出振り返り
出しました。
小計
食費 25,104円
今月は結構かかっていました。イベントを開催してビールを買い込んだりしたこともあるが、その収入を差し引いてもこれくらいでした。
交際 21,187円
こちらも思ったより出てますね。でもまあこんなもんでしょう。
文化 3,512円
iTunesで音楽買ったほかに、レコードを何枚か買いました。
交通 20,793円
夜行バスに何度か乗ったのと、片道の新幹線代ですね。
住居 62,000円
家賃水光熱費です。
書籍 1,224円
新書とか買いました。
備消 29,765円
ラコステのワニのポロシャツを自分へのご褒美に買ったりしました。
購読 7,624円
Amazonプライムの引き落としがあり、いつもより少し高めです。
医療 100円
軟膏を買った分です。
雑費 60,192円
6万円は実家に納めました。
雑損 1,949円
消えた現金です。
総評
今月も在宅勤務でしたが、意外と動いたようで食費や交際費が出ていますね。
実家に納めた分を除けば今月も18万くらいに収まったみたいなのでよかったです。
4月も出費を抑えていきたいですね。それよりもコロナで倒れて収入が入らなくなるのが心配です。
2020年2月 支出振り返り
やってなかったので。
小計
食費 14,555円
前月よりさらに安かったです。在宅勤務が始まり、買い物の機会が減ったからでしょうね。
交際 17,825円
こちらも激安ですね。世間的にも飲み会が自粛傾向にあったので。
文化 120円
Tinderで初回ブーストが安かったのでやってみた分です。二回目から高くなったのでもうしません。
健康 3,740円
ボルダリング二回分です。腰を痛めたのでジムには行ってません。
交通 6,000円
Suicaに三回チャージしました。
住居 70,680円
家賃水光熱費です。
書籍 11,501円
本何冊か買ったんですが、そのうち二冊は経費として戻ってきます。
備消 213,263円
DJコントローラーやMacBook Proのセットを20万円で競り落としたのでこの額が計上されてます。
購読 2,724円
旅費 26,360円
先日の韓国旅行の分です。このうち6000円分がカジノに消えました。
雑費 194円
雑費です。
雑損 299円
消えた現金です。
総評
在宅勤務が始まったこともあり、外での出費が抑えられました。
DJセットの購入については特別に20万円多く計上してますが、Macは十数万円で売れる見通しなので最終的には平準化できそうです。
Yves Hilpisch『Pythonによるファイナンス 第2版 データ駆動型アプローチに向けて』まとめ
Yves Hilpisch『Pythonによるファイナンス 第2版 データ駆動型アプローチに向けて』(黒川利明訳、中妻照雄技術監修、オライリージャパン)が去年の末に発売されたので、元日から約三週間かけて読みました。そのあと放置していたのですが、今回その内容を章ごとに要約したので参考にしてください。
Pythonによるファイナンス 第2版 ―データ駆動型アプローチに向けて (オライリー・ジャパン)
- 作者:Yves Hilpisch
- 発売日: 2019/12/26
- メディア: 単行本(ソフトカバー)
作者のYves Hilpisch(イーブ・ヒルピシュ)氏は、投資銀行のクオンツとしてPythonを用いたパッケージの開発で金融業界に貢献してきた方で、現在はThe Python Quants GmbHおよびThe AI MachineのCEOを務めています。本書でも後半は彼の手による価格付けライブラリ「DX」で用いられているコードが解説されます。
概要
本書は五部構成になっていて、それぞれ次のようなタイトルになっています。
このうち第1部(の1章)はファイナンス分野におけるPythonおよびプログラミング利用の概略、第2部はPythonの文法および各種パッケージについての解説、第3部はファイナンスに用いられる数学的手法や物理学モデルの解説および応用、第4部はより実践的な投資戦略の実装と解説、そして第5部はDXパッケージに実装されているコードの紹介となっています。
したがって、Pythonによるファイナンスという観点から言えば、第1部および第4部がこの本のエッセンスとなります。しかし第3部の数学や物理学のツールについての解説とPythonによるそれらの実装を理解していないと、それらを組み合わせた第4部の内容を理解するのは難しいかもしれません。Pythonの基本的な知識がある方なら第2部は飛ばしても問題ないですし、数学や物理学に精通している方なら第3部の前半も既知の内容かと思います。第5部はパッケージで実装されているコードの紹介となるため、読んで身に付く類のものではないです。
また、本書ではファイナンスおよび投資に関するテクニカルタームが頻出します。ボラティリティ、ポートフォリオ、デリバティブ、オプションといった専門用語が特に断りなく用いられます。モンテカルロシミュレーションやオイラー法といった数学的技法および物理学的モデルについては数式を用いて詳しく解説されますが、正規分布や局所最適化のような統計学および数学の概念については必ずしも説明されません。
私は数学や物理学に関する学部レベルの知識があるのと、本書を読むまでに投資運用に関する一般書および投資手法についての解説書をすでに読んでいたので、この辺りの知識については身についていました。特に、いわゆる「ロケット科学者」がどのような経緯でファイナンス分野に物理学や数学の手法を持ち込むに至ったか知っていると、本書が面白く読めるのではないかと思います。こちらの書籍が参考になります。
ちなみに、上記の内容からわかる通り、本書は投資銀行で用いられているPythonコードの実装について述べられた本であって、実務的な内容ではあるものの必ずしも実用的な書籍ではありません。すなわちこの本を買ったからといってすぐさま投資に使えるコードが手に入るわけではないです。なお、本書で用いられるコードはJupyter Notebookで利用可能な形式でインターネット上に公開されています。
それでは以下、各章ごとの要約です。
第1部 Pythonとファイナンス
1章 なぜファイナンスにPythonを使うのか
インタープリタ、動的型付け、インデントなどの言語そのものの特徴に加え、Numpy、SciPy、Matplotlib、pandasなどの科学スタックを含むエコシステムにより、Pythonはファイナンス分野において理想的なテクノロジーフレームワークとなった。というのも ITテクノロジーは世界の金融機関で競争力の源となっており、テクノロジーの進歩がイノベーションや効率改善をもたらす反面、リスク管理や規制を困難なものにしつつあったからだ。今日の開発ではリアルタイム分析やビッグデータ解析に耐え、かつモデル開発の素早さが保守性・信頼性の高さと同時に求められる。Pythonは数式に近い構文や、プロトタイプからプロダクションまで一貫した開発が可能であることからこれらに適していた。さらに機械学習や深層学習用の言語でもあるPythonは、これらの手法をファイナンス問題に適用するのも容易である。以上のような観点から、Pythonはデータ駆動型ファイナンスとAIファーストファイナンスというトレンドのための言語と言える。
2章 Pythonインフラストラクチャ
環境整備に役立つPythonインフラストラクチャを紹介する。パッケージマネージャconda、仮想環境マネージャDocker、そしてクラウドインスタンスの導入について説明する。
第2部 基本の習得
3章 データ型とデータ構造
int(整数)、float(浮動小数点数)、ブール値、文字列などの基本データ型と、タプル、リスト、dict(辞書)、set(集合)などの基本データ構造について説明する。
4章 NumPyによる数値計算
Pythonのリストや配列クラスによるデータ配列と、NumPyを用いた多次元配列やブール値配列、形とサイズの変更について、またNumPyの構造化配列、構造化ndarrayやベクトル化コードについて説明する。
5章 pandasによるデータ分析
pandasのDataFrameクラスと、それを用いた基本的な分析および可視化について、またSeriesクラスを用いたGroupBy演算、複合選択、連結、結合、マージについて説明する。
6章 オブジェクト指向プログラミング
Pythonによるファイナンスにおけるオブジェクト指向プログラミングの重要な概念としては、クラス、オブジェクト、属性、メソッド、引数、インスタンス化が、また人間に適したところとしては、自然な考え方、複雑さを減らす、より良いユーザインタフェース、Pythonicなモデル化が、そして技術面としては、抽象化、モジュール化、継承、集約、コンポジション(合成)、ポリモーフィズム、カプセル化、再利用性、非常調整が重要である。Pythonオブジェクトのオブジェクト指向として、int、list、ndarrayおよびDataFrameの利用法と、Pythonクラスの基本、Pythonデータモデル、データクラスについて説明する。
第3部 金融データサイエンス
7章 データ可視化
Pythonのデータ可視化ではMatplotlibが基準であり、NumPyやpandasと組み合わせて利用される。静的2Dプロットおよび3Dプロットの基本関数と、PlotlyにpandasのDataFrameオブジェクトやラッパーパッケージCufflinksを組み合わせた、D3.jnに基づくインタラクティブ2Dプロットの作成について説明する。
8章 金融時系列データ
株価や為替レートなどの金融時系列データを、pandasを用いてカンマ区切り値(CSV)ファイルのデータセットとして効率的に分析・可視化する方法について述べる。ローリング統計によるテクニカル分析、S&P 500株価指数とVIXボラティリティ指数の相関分析、ティックデータなどの高頻度データを例として取り扱う。
9章 入出力操作
入出力(I/O)操作は金融アプリケーションやデータ指向アプリケーション一般に重要な操作である。PythonではSQLに基づいた関係データベースも扱えるが、ファイナンスや科学の多くの応用領域では一般に配列に基づいたデータモデル方式、NumPyのndarrayオブジェクトやPyTablesのTableオブジェクト、TsTablesのDataFrameオブジェクトなどが活躍する。スケールアウトやスケールアップの観点から、分析の要件に最も適合するハードウェアアーキテクチャかどうか注意して検討すべきである。
10章 高性能Python
ファイナンスにおける典型的な業務やアルゴリズムの高速化には、賢明なデータ構造の選択、正しいイディオム/パラダイムの実装、正しい性能関連のパッケージの使用が求められる。Pythonにおける高速化の方法としては、NumPyやpandasによるベクトル化、Numbaを用いた動的コンパイル、Cythonを用いた静的コンパイル、そしてマルチプロセスといった選択肢がある。これらを用いて、ループや再帰関数、モンテカルロシミュレーションなどを実装する。
11章 数学ツール
1980-1990年代のいわゆるウォール街のロケット科学者の登場により、ファイナンスは応用数学の一分野へと進化した。回帰や補間といった関数近似にはじまり、凸最適化は市場における効用最適化といったキャリブレーションに、積分はオプション価格の決定や評価のためのシミュレーションに必要である。記号計算パッケージSymPyを使えば、微積分が記号的および数値的に厳密に解ける。
12章 ストキャスティクス
ストキャスティクス(株価の「売られ過ぎ」「買われ過ぎ」を判断するための一指標)は、ブック上のデリバティブすべてに関する一貫した評価を求める今日のファイナンスにおいて最も重要な数学・数値計算業務である。乱数はファイナンスの多くのモデルが基づく正規分布や対数正規分布においても、また正規仮定に基づかないモデルを離散化しての近似に際しても用いられる。正規分布などの確率変数、幾何ブラウン運動や確率的ボラティリティモデルといった確率過程、分散現象法により調整された擬似乱数を用いて、ブラック・ショールズ・マートン(BSM)モデルやジャンプ拡散モデルといった、モンテカルロシミュレーションに重要となるメソッドや技法を実装する。ヨーロピアン(指定日)およびアメリカン(特定の期間内の任意のタイミング)オプションをはじめとする派生証券の評価、最後にバリューアットリスクVaRや信用評価調整のようなリスク尺度推定を実装する。
13章 統計
ポートフォリオ理論や資本資産格付けモデル、効率的市場仮説、オプション価格付け理論などのファイナンス基礎理論は金融商品の収益が正規分布に従っているという仮定に基づいているが、実世界データの正規性検定はその検定仮説を強く棄却する。
現代ポートフォリオ理論(平均-分散ポートフォリオ理論、MPT)はファイナンス理論の土台で、ポートフォリオ最適化は多くの資産を分散して正しく組み合わせて持つことで分散効果を期待するものである。ポートフォリオ共分散行列を使ってモンテカルロシミュレーションを実装する。シャープ・レシオ最大化、ポートフォリオの分散最小化といった制約のもと、最適ポートフォリオは最小ボラティリティすなわち最小分散ポートフォリオを最適ポートフォリオすべてでシミュレーションすると、他のすべてのポートフォリオより優位であるところの効率的フロンティアが示される。そこに無リスク資産を勘定に入れると、その接線が無リスクポートフォリオのリスク-収益点を通る、効率的フロンティアの折線上のポートフォリオが最適投資となる。
ベイズ統計は通時的解釈、すなわち時間が経てば対象である変数やパラメータについて新たな情報が学べるというエージェントの信念更新を組み入れた統計手法で、こうした推定更新にはscikit-learnやTensorFlowを用いた機械学習が応用できる。k平均法や混合ガウスモデルといった教師なし学習と、ガウシアン・ナイーブ・ベイズ(GNB)、ロジスティック回帰、決定木、深層ニューラルネットワーク(DNN)など各種分類手法の教師あり学習について例証する。サポートベクターマシン(SVM)においては訓練と試験の分離も有用である。
第4部 アルゴリズム取引
14章 FXCMトレーディングプラットフォーム
FXCM Group, LLCのトレーディングプラットフォームがプログラム取引のためのRESTfulなストリームAPIを提供しているので、Pythonラッパーパッケージfxcmpyを用いてこれを利用する。ティックデータやローソク足データを取得し、ストリームデータ処理や売買注文をリアルタイムに行う。
15章 取引戦略
ロング、ショート、中立のポジションを取るよう設計されたアルゴリズム取引戦略を、NumPyのndarrayオブジェクトととpandasのDataFrameオブジェクトを用いたベクトル化バックテスト方式で最適化する。まずは単純移動平均(SMA)による取引戦略とその最適化を取り扱う。しかし金融市場の価格は連続時間でドリフトしないというランダムウォーク仮説(RWH)、および市場価格はが「入手可能な全情報」を反映するという効率的市場仮説(EMH)に従えば、こうしたテクニカル分析は全く価値がないことになる。線形最小二乗法による過去の対数収益率に基づく市場の方向性の予測、k平均法を使った取引戦略のクラスタリング、金融市場の変動方向予測に対する頻度アプローチの適用、過去のデータで訓練した機械学習アルゴリズムによる分類、深層ニューラルネットワーク(DNN)によるパフォーマンス向上などを例証する。
16章 自動取引
資本管理について、全資本のうち何割の資本をアルゴリズム取引戦略に投じるかという長期資産の最大化を考える。1回ごとの賭け金の利用可能資本に対する最適配分を、コイントスを例に二項設定のケリー基準により求める。単純なS&P 500指数のパッシブロングポジションで検証した結果、最適ケリーレバレッジはエクイティポジションに不安定な変動をもたらす。
機械学習を使用して市場価格の動く方向を予測するアプローチとFXCMのREST APIを使って取得した過去データを組み合わせ、EUR/USD通貨ペアを使ってアルゴリズム取引戦略をバックテストし、最適レバレッジを求める。重要な取引を正しく行うことと、取引戦略に含まれる取引コストが知見として得られる。
これまで完全データセットを使って問題解決してきたオフラインアルゴリズムだけでなく、次々と到着するデータを処理して次の期間(足)の市場変動の方向を予測するために、オンラインアルゴリズムについても検討する。実際のファンドで運用する適切なインフラストラクチャとして必要なのは、高信頼性、パフォーマンス、セキュリティが挙げられ、アルゴリズムトレーダーの観点からはロギングと監視が求められる。
第5部 デリバティブ分析
価格付けライブラリDX モデル化 シミュレーション 評価 リスク管理 アプリケーション
17章 評価フレームワーク
ここからはDXライブラリの開発フレームワークについて紹介する。資産価格付けの基本定理としては、割引リスク要因(確率過程)からドリフトを除去する確率測度であるマルチンゲール測度が挙げられ、リスクに対する株式のリスクプレミアムなどが評価できる。リスク中立割引に際しての該当日付のモデル化と処理、定数短期金利について検討する。 市場環境においては抽象化に加えて、定数、リスト、曲線といったデータとPythonオブジェクトを格納する3つの辞書が便利である。
18章 ファイナンスモデルのシミュレーション
DXパッケージの中心要素のシミュレーションクラスを実装する。標準正規分布、分散減少法といった乱数の生成、他のすべてのシミュレーションクラスが共有し、市場環境の役割を果たすジェネリックシミュレーションクラス、そして幾何ブラウン運動、ジャンプ拡散、平方根拡散などの実装を紹介する。
19章 デリバティブ評価
オプションとデリバティブは長らくいわゆるウォール街のロケット科学者、すなわち物理学などで高度な数学を使いこなすPhDを持った人々の専門領域だったが、モンテカルロシミュレーションのような数値計算手法によるモデルへの適用により、理論モデルそのものより少しだけ簡単になった。ヨーロピアンタイプにおけるオプション値の数値モンテカルロ評価量の1階偏微分デルタ、および現在(瞬時)ボラティリティσ(0)に関するボラティリティの1階偏微分ベガの数値評価について、また離散時間でのバミューダオプションの値の最適停止問題の極限であるところのアメリカンオプションの評価について、DXパッケージのコードを説明する。
20章 ポートフォリオ分析
モンテカルロシミュレーションだけを数値計算手法として採用し、分析パッケージをほぼ完全にモジュール化する。複数のリスク要因(相関可)に依存する複数デリバティブポジションのポートフォリオ評価とリスク管理、およびリスク要因間の相関、シミュレションオブジェクトのインスタンス化、ポートフォリオ統計量生成といった、より複雑な業務を実装する。
21章 市場に基づいた評価
活発に取引されていないオプションの価格付けを行ったものを利用して、活発に取引されているオプションの市場価格の価格付けモデルを凸最適化問題としてキャリブレーションして求めたモデルで行う。そのような例として、DAX 30指数のアメリカンプットオプションポートフォリオを実装したコードを紹介する。
メモ
要約する前のメモをこちらで公開しています。
神保町の古書店街とかで本買った
Twitterで「神保町に大学図書館の蔵書が放出されている」という情報が昨日出ていた。
Fラン大学が資金ショートしたか潰れたのか蔵書が神保町に大放出されてて最高〜〜〜!!!! pic.twitter.com/UNAXQSEqMV
— ゆびぶえ#引用RTう○い (@univ00009) 2020年2月28日
そこで今日は久々に新御茶ノ水まで電車に乗って、そこから歩いて神保町の古書店街を歩いた。
件の書店は大通りに面した店で、こけしを置いているところだったのですぐ特定できた。澤口書店。
来ました pic.twitter.com/AIdNPMeXB8
— 敎育の失敗 (@silloi93) 2020年2月29日
松坂大学および松坂女子大学の蔵書が流れているらしかった。文学、建築学などの専門書のほか、文庫本もあった。
で、それらは買わずに面白そうな本があったので買った。500円。
いい本買ったので見てください pic.twitter.com/tG2xDlT96j
— 敎育の失敗 (@silloi93) 2020年2月29日
二階のカフェスペースで買った本眺めてたら嗜好品コーナーにカクテル の本があったのでそれも買った。600円。
カクテルの本も買ったのでカクテル作る会とかしたい pic.twitter.com/mPp0e0kppO
— 敎育の失敗 (@silloi93) 2020年2月29日
ちなみに今日はここに来るまでにTwitterでバズっていた付録のおもちゃを入手するために雑誌の幼稚園を購入しました。
ありました pic.twitter.com/UruldIiSF9
— 敎育の失敗 (@silloi93) 2020年2月29日
ツイートはこれです。
幼稚園4月号ふろくは「ワニワニパニック」&「のび太の新恐竜パニック」。モーターにより5匹のワニが出たり入ったりします。カウンター付きで何匹たたけたかがわかります。さらにモーターを入れ替えると「映画ドラえもん のび太の新恐竜」バージョンに。5匹の恐竜が出てきます。2月29日ごろ発売です。 pic.twitter.com/SilvbiA4do
— 小学館『幼稚園』編集部 (@youchien_hensyu) 2020年2月28日