股票
是否可以使用 quantlib 金融庫來計算以下措施?
我正在從事一個解決財務問題的項目,我很好奇是否可以使用qunatlib。我已經看過有關它的文件,但是由於我絕對不是財務專家,因此無法得出 quantlib 是否適合我所擁有的措施的結論。
例如,我正在計算某一天在債券/股票之上的息票/股息支付。讓我們看一下優惠券範例。在指定的日期,客戶有 10 只債券(每張的面值為 100 美元,票面利率為 7%),通過簡單的乘法計算,我計算出客戶當天獲得 70 美元。
除了我在計算資產的賬面價值和市場價值之外,還計算資產的總和相對價格回報措施。我很好奇其中任何一個都可以通過使用來計算
qunatlib
。我看到它通常被廣泛使用並提供了很多功能,而這樣做的進一步動機是,如果有一個庫可以為我做這件事,我不想重新發明輪子。如果有人能告訴我是否可以使用
qunatlib
並理想地提供測量樣本來計算任何這些措施,那就太好了。我會很感激任何幫助。提前謝謝
這對你來說足夠了嗎?創建一個固定債券,它是乾淨的價格、骯髒的價格和 YTM。
const Date t0 = Date(8, July, 2015); // July 8th, 2015 const Date t1 = Date(10, August, 2015); // August 10th, 2015 const Date t2 = t0 + Period(2, Months); // September 8th, 2015 const Date t3 = t0 + Period(3, Months); // October 8th, 2015 // Make sure we're evaluating at t0 Settings::instance().evaluationDate() = t0; Schedule sch(t0, t3, Period(Monthly), UnitedStates(), Unadjusted, Unadjusted, DateGeneration::Backward, false); const auto dc = Actual360(); FixedRateBond bond(0, 1000, sch, std::vector<Rate> { 0.07, 0.07, 0.07 }, dc); // We have four payments (three coupons + one nominal) std::cout << bond.cashflows().size() << std::endl; // Coupon for the first payment date std::cout << bond.cashflows()[0]->amount() << std::endl; // Coupon for the second payment date std::cout << bond.cashflows()[1]->amount() << std::endl; // Coupon for the final payment date std::cout << bond.cashflows()[2]->amount() << std::endl; // Nominal at the end of the bond std::cout << bond.cashflows()[3]->amount() << std::endl; Handle<YieldTermStructure> zero(flatRate(t0, 0.05, Actual360())); boost::shared_ptr<PricingEngine> engine = boost::shared_ptr<PricingEngine>( new DiscountingBondEngine(Handle<YieldTermStructure>(zero))); bond.setPricingEngine(engine); std::cout << bond.dirtyPrice() << std::endl; std::cout << bond.cleanPrice() << std::endl; std::cout << bond.yield(dc, Simple, Monthly) << std::endl;