問題タブ [quantlib]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
quantlib - quantlib、quantlib-swig、および python を使用して単純な固定債券のクーポン支払い日を取得するにはどうすればよいですか
ubuntu 13.04でquantlib-swig(1.2)を使用してquantlib(1.3)とpythonバインディングを学ぼうとしています。スターターとして、以下に示すように、30/360 ヨーロッパのデイカウンターを使用して、非常に単純な債券の支払い日を決定しようとしています。
以下は私の質問です:
スケジュール オブジェクトのどのメソッドで支払日を取得できますか?
日付が適切に計算されるように、dayCounter オブジェクトをどこで指定する必要がありますか?
Dimitri Reiswich のプレゼンテーションを使用して、C++ コードを模倣しようとしましたが、schedule.dates() はそのようなメソッドがないためエラーを返します。
この固定金利債券の支払日は、(oocalc を使用して取得)
2001 年 2 月 28 日。2001 年 8 月 31 日
2002 年 2 月 28 日; 2002 年 8 月 31 日
2003 年 2 月 28 日; 2003 年 8 月 31 日
2004 年 2 月 29 日; 2004 年 8 月 31 日
2005 年 2 月 28 日; 2005 年 8 月 31 日
2006 年 2 月 28 日; 2006 年 8 月 31 日
2007 年 2 月 28 日; 2007 年 8 月 31 日
2008 年 2 月 29 日; 2008 年 8 月 31 日
Python & quantlib を使用して、この単純な債券の支払日を取得するにはどうすればよいですか? 誰か助けてくれませんか?
よろしく
K
python - Quantlib Python PyQL ライブラリのインストール: Boost が見つからないようです
Quantlib をラップする Python PyQL ライブラリをインストールしようとしていますが、一部のブースト ヘッダーが見つからないようです。
Quantlib (1.3) の最新バージョンが既に動作しており、Boost 1.5 と共に /usr/local/lib ディレクトリにあります。
Cython 0.2 がインストールされています。
パッケージをダウンロードした pyql ディレクトリに移動して make build コマンドを実行すると、Boost ライブラリに問題が発生します。Github の指示では、Cython 0.16 に「パッチを適用」する必要があると記載されていましたが、既に 0.2 を使用しているため、これは必要ないと思います。ビルドの内容は次のとおりです。
Quantlib を最初から正常にコンパイルし、テスト スイートが動作するため、これが明らかにインストールされ、動作しているにもかかわらず、boost ライブラリを見つけることができないようです。どこで何か間違っている可能性があるかについてのヒントはありますか?
これは Ubuntu 13.10 で、デフォルトでインストールされている Python 2.7 です。基本的に、これはすべての最新ライブラリを備えた新しくインストールされたシステムです (1.5 のままにしている Boost を除く)。
Fwiw python setup.py install も機能しませんが、通常の SWIG Quantlib ライブラリは Python で正常に動作しています。
補遺
私が持っている「エラー」は、UbuntuにQuantlibをインストールする方法に関するこの優れたページを注意深くフォローしたことだと思います。そのページでは、usr/local/lib ディレクトリにある Boost について説明されており、そのコマンドをコピーして貼り付けました。Quantlib は、Boost ディレクトリがページに従って export コマンドを介して伝達されたため、完全にコンパイルされましたが、pyql は setup.py でこのディレクトリを指定する必要もありました。デフォルトの usr/local/include ではなく usr/local/lib に INCLUDE_DIRS を指定して、sys.platform = "linux2" の下の行を確実にすることが重要です。この補遺を書いているのは、多くのユーザーが「Quantlib Ubuntu のインストール」をグーグルで検索してこのページを見つける可能性があるためです。したがって、この問題は多くの人に再発する可能性があります。
r - 異なるバージョンの g++ を使用した Quantlib R の統合
quantlib とのインターフェイスが必要な R プロジェクトに取り組んでいます。私は Windows を使用しています (私の会社は Unix を十分にサポートしていません)。最新の mingw ツール (g++-4.8.x) でコンパイルされた quantlib ライブラリがあり、これまでのところかなりうまく機能しています。しかし、R 用のインターフェイスを作成しようとすると、Rtools が提供する g++-4.6.x を使用する必要があり、まったく同じファイルに対して多くのエラー メッセージが表示されます。
これは、Quantlib には新しいコンパイラを使用し、自分のコードには古いコンパイラを使用したためですか? g++-4.8.x を使用してブースト ライブラリを構築したため、自分のコードで boost::shared_ptr を使用し、g++-4.6.x (R 提供) を使用してコンパイルした場合に問題なく動作するため、よくわかりません。
どんな助けでも大歓迎です。
c++ - quantlib にリンクできません
QuantLib を学習しようとしています。これは、自分の環境が問題なく、quantlib にリンクできることを確認する最初のプログラムです。
/usr/local/lib の下に quantlib ライブラリをインストールし、/usr/local/include/ql の下にヘッダーをインストールしました。この小さなプログラムを次のようにコンパイルしようとします。
「ql/quantlib.hpp」を含めると、事態はさらに悪化します(上記のようなエラーがはるかに多くなります)。私のldconfigがうまくいかない場合は、「-L/usr/local/lib」を渡してみました。
私はここで少し迷っています...手がかりはありますか?
c++ - C++ で列挙型を乗算する
列挙型に整数を掛けるコードがあります。
QuantLib::Months は次のように定義されます。
これにより、date2がdateから 1 年後という望ましい結果が得られます。ただし、これがどのように達成されているかを理解することはできません。
これはコンパイルできないと思っていました。これで、「12 か月」オブジェクトに到達したように感じます。このオブジェクトは、QuantLib::Date '+' 演算子のオーバーロードによって処理されますが、このスタイルはこれまで見たことがありません。
私は C# のバックグラウンドを持っているので、ここでの作業で気付いていないことがあるかもしれません。誰が何が起こっているのか説明できますか? 参考資料をいただければ幸いです。
c++ - Rcpp を介して R から QuantLib を呼び出す
準備手順
QuantLibはBoostと共にインストールされ、Microsoft Visual C++ 2010 で次の手順に従ってビルドされました。テスト コードは問題なく実行されました。
次のサンプル コードで R を使用すると、期待どおりの結果が得られました。
別のC++ファイルの使用に関して、以下の例
の結果で成功しましR
た
私はすべてが大丈夫だと思います。
私の質問
私の設定が正しい場合、私の質問は次のとおりです。私のQuantLib-vc100-mt-gd.lib
オブジェクト ファイル ライブラリが にあると仮定C:\DevTools\QuantLib-1.3\lib
すると、以下のコードのようなものが から呼び出された場合に正しく動作するようにするにはどうすればよいR
ですか?
c++ - Xcode の C++ Quantlib EXC_BAD_ACCESS
Xcode でサンプル コード (BermudanSwaption) のいくつかを実行しようとしましたが、EXC_BAD_ACCESS code=2 を取得し続けます。
ただし、ターミナルでの BermudanSwaption コードのコンパイルと実行は正しく機能します。
次のコードは、Xcode で同じエラーをスローします。
そして、これは正しく実行されます。
これを実行するために Xcode で微調整する必要がある特定の設定はありますか?