Leanpub Header

Skip to main content

Implementing QuantLib の和訳

Quantitative finance in C++: an inside look at the architecture of the QuantLib library.

This book is a translation into Japanese of Implementing QuantLib which was originally written in English

Minimum price

Free!

$29.99

You pay

$29.99

Authors earn

$23.99
$

...Or Buy With Credits!

You can get credits monthly with a Reader Membership
PDF
EPUB
WEB
368
Pages
About

About

About the Book

 この本は、QuantLibライブラリーの全体デザインや実装方法のレポートであり、またMel Brooksの“Young Frankenstein”で極めて特徴的な、“私はこれをどうやって作ったのか”的な本にも、心情的にはよく似ています(その映画の驚くような成功には及びませんが)。もし読者の方が、既にQuantLibライブラリーのユーザーであるか、あるいはこれからユーザーになろうとしているのであれば、プログラムコードを読むだけでは解らないような、ライブラリーのデザインについての有用な情報が、この本から得られるでしょう。もし読者がユーザーではないものの、金融工学の世界で働いているのであれば、金融モデルライブラリーのデザインに関する現場報告書として読んで頂いてもかまいません。おそらく、あなたが今直面している問題に対して、その解決策と、その理屈も含めて、この本がカバーしている部分がある事に気づくでしょう。読者の方の制約条件によっては、別の解決策を選択するかもしれませんし、あるいはその可能性の方が高いかもしれませんが、この本の中での論点整理から、そういった場合でも得るものがあるかも知れません。

 この本の読者として、QuantLibライブラリーを使って自ら金融商品や価格モデルを開発しようとしているユーザーを想定しています。もしあなたが、それに該当するなら、ライブラリーが提供するクラス階層やフレームワークに関する説明を読めば、ご自身のプログラムコードをQuantLibライブラリーのそれと統合する為に必要な鈎について、何等かの情報を得られるでしょうし、提供されている機能を活用する助けになるでしょう。もし、そういった類の読者でないとしても、本を閉じないで下さい。そうで無い方にとっても、何等かの役に立つ情報を得られると思います。しかし乍ら、より実用的な解説書をお望みなら、本書ではなく、 QuantLib Python Cookbookの方を見てみたいと思われるかも知れません。

Share this book

This book is a translation into Japanese of Implementing QuantLib which was originally written in English

Author

About the Authors

Luigi Ballabio

The co-founder and current maintainer of the open-source QuantLib project. Also husband, father of four, ex-physicist, and amateur musician.

Subscribe to Luigi's newsletter at https://implementingquantlib.substack.com for more QuantLib-related content.

Aki Sakashita

Aki Sakashita has spent most of his career in derivatives trading and risk management since mid-1980s for Japanese and US investment banks. He is now developing a web-site http://practicalfinancialengineer.info/index.html advocating quants finance.

Contents

Table of Contents

はじめに

1Introduction

2Financial instruments and pricing engines

  1. 2.1The Instrument class
  2. 2.1.1インターフェースと要件
  3. 2.1.2実装
  4. Aside: const にすべきか否か?
  5. 2.1.3例:金利スワップ
  6. Aside: Handleと共有ポインター
  7. 2.1.4今後の開発予定
  8. 2.2価格計算エンジン
  9. Aside: 純粋でない仮想関数
  10. 2.2.1例: シンプルなオプション

3Term Structures

  1. 3.1The TermStructure Class
  2. 3.1.1インターフェースと要件
  3. 3.1.2実装
  4. Aside: Evaluation Dateに関する工夫
  5. 3.2金利の期間構造
  6. 3.2.1インターフェースと実装
  7. 3.2.2ディスカウントカーブ、フォワード金利カーブ、ゼロ金利カーブ
  8. Aside: 対称性の破れ
  9. Aside: 双子のクラス
  10. 3.2.3例:InterpolationされたカーブのBootstrapping
  11. Aside: 必要な時の友
  12. 3.2.4例:イールドカーブにz-スプレッドを追加:
  13. 3.3その他の期間構造クラス
  14. 3.3.1デフォールト確率の期間構造
  15. Aside: シンデレラ法
  16. 3.3.2インフレ率の期間構造
  17. 3.3.3ボラティリティの期間構造
  18. 3.3.4株式ボラティリティの期間構造
  19. Aside: InterpolationとExtrapolation
  20. 3.3.5金利ボラティリティの期間構造

4Cash Flows and Coupons

  1. 4.1The CashFlow Class
  2. Aside: 支払い遅延の取扱い
  3. 4.2Interest-Rate Coupons
  4. 4.2.1固定金利クーポン
  5. 4.2.2変動金利クーポン
  6. Aside: 汎用性と実用性のバランス
  7. 4.2.3例:LIBORクーポン
  8. Aside: 約束違反
  9. 4.2.4例: Cap・Floor付きのクーポン
  10. 4.2.5キャッシュフロー配列の生成
  11. 4.2.6他の種類のCouponと今後の開発
  12. 4.3キャッシュフローの分析
  13. 4.3.1例:固定金利債券

5Parameterized Models and Calibration

  1. 5.1CalibrationHelper クラス
  2. 5.1.1例: Hestonモデル
  3. Aside: 前提が崩れた場合
  4. 5.2モデルのパラメータ
  5. 5.3CalibratedModel クラス
  6. 5.3.1例:Hestonモデル(続き)

6The Monte Carlo Framework

  1. 6.1Pathの生成
  2. 6.1.1乱数の生成
  3. Aside: より通行量の多い道
  4. 6.1.2確率過程
  5. 6.1.3Pathの生成装置
  6. Aside: アクセスパターン
  7. Aside: 自分のつま先を踏んでしまう
  8. 6.2Path上での価格計算
  9. 6.3すべての部品を使って組み立てる
  10. 6.3.1Monte Carlo traits クラス
  11. 6.3.2モンテカルロモデル
  12. 6.3.3モンテカルロシミュレーション
  13. Aside: シンクロナイズドウォーキング
  14. 6.3.4例: バスケットオプション
  15. Aside: “知る必要のある人にしか伝えない”の原則

7Tree を使った価格モデルのフレームワーク

  1. 7.1格子クラス および 離散化資産クラス
  2. 7.1.1例:Discretized Bond (離散モデルで表現された債券)
  3. 7.1.2例:DiscretizedOptionクラス(離散モデルで表現されたオプションクラス)
  4. 7.2Tree および Tree-Based Lattice
  5. 7.2.1Treeクラスのテンプレート
  6. Aside: Curiouser and Curiouser「ますますおかしな事になってきたわ!」不思議の国のアリス
  7. 7.2.22項Treeおよび3項Treeクラス
  8. 7.2.3TreeLatticeクラステンプレート
  9. 7.3Tree をベースにした価格エンジン
  10. 7.3.1例: コールオプション付き固定金利債

8有限差分法のフレームワーク

  1. 8.1古いフレームワーク
  2. 8.1.1微分演算子
  3. 8.1.2時間軸方向の差分スキーム
  4. 8.1.3境界条件
  5. 8.1.4Step Condition: 時間ステップ遷移時の条件
  6. Aside: お母さん見て、手を離してるよ!
  7. 8.1.5有限差分モデルクラス
  8. 8.1.6例:アメリカンオプション
  9. 8.1.7時間に依存する差分演算子
  10. 8.2新しいフレームワーク
  11. 8.2.1メッシャー(離散化した確率変数の格子)
  12. 8.2.2差分演算子
  13. 8.2.3例:Black-Scholesモデル用の差分演算子
  14. 8.2.4初期条件、境界条件 および 時間ステップ条件
  15. Aside: 魔法をどうやって取り除けばよいか?
  16. 8.2.5時間軸方向の差分スキームとソルバー

9おわりに

Appendix A: 周辺の話題

  1. 基本的なデータ型
  2. Date Calculations: 日数計算方法
  3. 日数と期間を扱うクラス
  4. カレンダークラス
  5. Day Count Conventions: 日数計算方法
  6. Schedules: クーポンスケジュール
  7. 金融に関連する概念を対象とするクラス
  8. Market Quotes: 市場データ
  9. 金利
  10. Index: インデックスクラス
  11. Aside: どの程度まで汎用化する必要があるのか?
  12. ExerciseクラスとPayoffクラス
  13. 数値計算関連のクラス群
  14. Interpolation:補間関数
  15. Aside: ゴルディオスの結び目(一見複雑に見える問題をいとも簡単に解く方法)
  16. One-dimensional Solvers: 1次元ソルバー
  17. Optimizers: 多次元関数の最小値問題
  18. Statistics: 統計値
  19. Aside: 極端な期待
  20. Linear Algebra: 線形代数(ベクトルと行列)
  21. Global Settings: ライブラリー全体の変数と定数の設定
  22. Aside: B級映画以上にmutationが登場
  23. Utilities: ユーティリティークラス
  24. Smart Pointers and Handles: スマートポインターとハンドル
  25. Aside: ポインターに関するC++構文上の決まり
  26. Error Reporting: 例外処理
  27. Disposable Objects (move semantics の代用)
  28. Designe Patterns: デザインパターン
  29. The Observer Pattern: オブザーバーパターン
  30. The Singleton Pattern: シングルトンパターン
  31. The Visitor Pattern: ビジターパターン

Appendix B: プログラムコードの表記方法の慣行

QuantLib license

Bibliography

Get the free sample chapters

Click the buttons to get the free sample in PDF or EPUB, or read the sample online here

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub