何かを書き留める何か

数学や読んだ本について書く何かです。最近は社会人として生き残りの術を学ぶ日々です。

『Pythonによるファイナンス 第2版』の査読を担当しました

金融もPythonでやろう

2019年12月26日にオライリージャパンから『Python for Finance, 2nd Edition』の邦訳『Pythonによるファイナンス 第2版』が発売される。

www.oreilly.co.jp

この度、邦訳の査読者として参加させていただいた。 オライリーの方から話があったのは2019年6月上旬であった。

タイトルの通り、Python金融工学を行う本である。 このエントリを書いている人物は金融に詳しくなく、査読を行ったのは第1部および第2部のPythonに関する部分が中心である。 Python mini Hack-a-thonでつながりがあった@drillerさんに後半部分の金融パートを読んでいただくようにお願いをした。

「第2版」とあるが、初版の邦訳は存在しない。 初版は2015年であり、日本でPythonが流行する前である。 656ページとなかなかのボリュームであり、かつPython初心者や金融初心者向けではないためハードルはやや高いかもしれないが、FinTechやら金融工学に興味がある方にはぜひ手にとって読んで欲しい。

『Effective Python 2nd ed.』項目5:複雑な式の代わりにヘルパー関数を書く

不変でも進化する

Effective Python 2nd ed.』の続き

effectivepython.com

項目5は初版の項目4の続投であり、主張もそのままである。 Python特有の主張ではなく、どの言語でも大事にするべき項目である。

それでは何も変わっていないのか、というと、実は2版の項目4を受けて、文字列フォーマットの形式がC言語形式からフォーマット済み文字列になっている。 こういう部分にニヤリとしてしまうのである。

『Effective Python 2nd ed.』項目4:C言語形式の書式化やstr.formatではなくフォーマット済み文字列を使おう

フォーマット済み文字列は単なる糖衣構文、そう思っていた時期が僕にもありました。

Effective Python 2nd ed.』の続き

effectivepython.com

項目4は2版で新規に追加された項目で、文字列のフォーマットに関する指針について説明している。 Pythonで文字列フォーマットを行う方法として

があり、筆者は3.6で追加されたフォーマット済み文字列を推奨している。 もちろん、新しいからフォーマット済み文字列を使おうなどという安直な理由ではなく、それぞれ理由を述べているので議論できる。 printf 形式(C言語形式)は公式ドキュメントでも使わないほうがよいという旨の説明があるが、str.format() ではなくフォーマット済み文字列を使おうと踏み込んだのが筆者の主張である。

Python 3.6が登場した当時は、str.format() があるし、フォーマット済み文字列は便利だけとそんなに使わないだろうな、と思っていた。 つまり、最初は糖衣構文として捉えていた。 ところが、今ではフォーマット済み文字列しか使わないようになってしまった。 あまり手の込んだ書式化をやってこなかったので、筆者が論証しているようなケースにはまったことがそれほどないのであるが、それもフォーマット済み文字列の簡明さに助けられた結果なのかもしれない。