0

QuantLib ライブラリの QuantLib::TimeSeries クラスを使用してラフを作成しています。私の問題は QuantLib とその複雑さとは関係ありませんが、より一般的には C++ クラスの使用だと思います。

QuantLib::TimeSeries については、こちらで説明しています。私のコード (今のところまったく何も返されません) では、std::vector に一連の日付を指定し、std::vector に含まれる一連の価格を指定します。QuantLib::TimeSeries オブジェクトは、日付と価格を結びつけることになっています。

#include<ql\quantlib.hpp>

int main()
{
    std::vector<QuantLib::Date> dates;
    std::vector<std::double> quotes;

        dates.push_back(Date(12,Nov, 2012));
    dates.push_back(Date(13,Nov, 2012));
    dates.push_back(Date(14,Nov, 2012));

    quotes.push_back(40.05);
    quotes.push_back(40.84);
    quotes.push_back(41.03);


    // Below is the line I am stuck at 
    QuantLib::TimeSeries<std::vector<QuantLib::Date>, std::vector<double>> series(dates.begin(), dates.end(), quotes.begin());

    // Now do something with all the stuff above
    // ... ...

    return 0;
}

この仕事をするのを手伝ってくれて、誰かがガイダンスを提供してくれたことに感謝します。

ありがとうございました。

4

1 に答える 1

1

あなたの難しい行は次のようなものでなければならないと思います:

QuantLib::TimeSeries<double> series(dates.begin(), dates.end(), quotes.begin());

リンクしたドキュメントから:

template<class T, class Container = std::map<Date, T>>
class QuantLib::TimeSeries< T, Container >;

最初のパラメーターは保存する型でdoubleあり、2 番目のパラメーターはおそらくコンテナーが実装として使用していたものであり、既に既定の実装を持っているため、何も必要ありません。

于 2013-02-09T21:02:11.273 に答える