本文整理匯總了C#中QLNet.IborIndex.currency方法的典型用法代碼示例。如果您正苦於以下問題:C# IborIndex.currency方法的具體用法?C# IborIndex.currency怎麽用?C# IborIndex.currency使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類QLNet.IborIndex
的用法示例。
在下文中一共展示了IborIndex.currency方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: CommonVars
//public IndexHistoryCleaner indexCleaner;
// initial setup
public CommonVars()
{
backup = new SavedSettings();
//indexCleaner = new IndexHistoryCleaner();
termStructure = new RelinkableHandle<YieldTermStructure>();
int swapSettlementDays = 2;
faceAmount = 100.0;
BusinessDayConvention fixedConvention = BusinessDayConvention.Unadjusted;
compounding = Compounding.Continuous;
Frequency fixedFrequency = Frequency.Annual;
Frequency floatingFrequency = Frequency.Semiannual;
iborIndex = new Euribor(new Period(floatingFrequency), termStructure);
Calendar calendar = iborIndex.fixingCalendar();
swapIndex= new SwapIndex("EuriborSwapIsdaFixA", new Period(10,TimeUnit.Years), swapSettlementDays,
iborIndex.currency(), calendar,
new Period(fixedFrequency), fixedConvention,
iborIndex.dayCounter(), iborIndex);
spread = 0.0;
nonnullspread = 0.003;
Date today = new Date(24,Month.April,2007);
Settings.setEvaluationDate(today);
//Date today = Settings::instance().evaluationDate();
termStructure.linkTo(Utilities.flatRate(today, 0.05, new Actual365Fixed()));
pricer = new BlackIborCouponPricer();
Handle<SwaptionVolatilityStructure> swaptionVolatilityStructure =
new Handle<SwaptionVolatilityStructure>(new ConstantSwaptionVolatility(today,
new NullCalendar(),BusinessDayConvention.Following, 0.2, new Actual365Fixed()));
Handle<Quote> meanReversionQuote = new Handle<Quote>(new SimpleQuote(0.01));
cmspricer = new AnalyticHaganPricer(swaptionVolatilityStructure, GFunctionFactory.YieldCurveModel.Standard, meanReversionQuote);
}
示例2: CapHelper
public CapHelper(Period length,
Handle<Quote> volatility,
IborIndex index,
// data for ATM swap-rate calculation
Frequency fixedLegFrequency,
DayCounter fixedLegDayCounter,
bool includeFirstSwaplet,
Handle<YieldTermStructure> termStructure,
bool calibrateVolatility /*= false*/)
: base(volatility, termStructure, calibrateVolatility)
{
Period indexTenor = index.tenor();
double fixedRate = 0.04; // dummy value
Date startDate, maturity;
if (includeFirstSwaplet) {
startDate = termStructure.link.referenceDate();
maturity = termStructure.link.referenceDate() + length;
} else {
startDate = termStructure.link.referenceDate() + indexTenor;
maturity = termStructure.link.referenceDate() + length;
}
IborIndex dummyIndex=new
IborIndex("dummy",
indexTenor,
index.fixingDays(),
index.currency(),
index.fixingCalendar(),
index.businessDayConvention(),
index.endOfMonth(),
termStructure.link.dayCounter(),
termStructure);
List<double> nominals = new InitializedList<double>(1,1.0);
Schedule floatSchedule=new Schedule(startDate, maturity,
index.tenor(), index.fixingCalendar(),
index.businessDayConvention(),
index.businessDayConvention(),
DateGeneration.Rule.Forward, false);
List<CashFlow> floatingLeg;
IborLeg iborLeg = (IborLeg) new IborLeg(floatSchedule, index)
.withFixingDays(0)
.withNotionals(nominals)
.withPaymentAdjustment(index.businessDayConvention());
floatingLeg = iborLeg.value();
Schedule fixedSchedule=new Schedule(startDate, maturity, new Period(fixedLegFrequency),
index.fixingCalendar(),
BusinessDayConvention.Unadjusted, BusinessDayConvention.Unadjusted,
DateGeneration.Rule.Forward, false);
List<CashFlow> fixedLeg = new FixedRateLeg(fixedSchedule)
.withCouponRates(fixedRate, fixedLegDayCounter)
.withNotionals(nominals)
.withPaymentAdjustment(index.businessDayConvention());
Swap swap = new Swap(floatingLeg, fixedLeg);
swap.setPricingEngine(new DiscountingSwapEngine(termStructure));
double bp = 1.0e-4;
double fairRate = fixedRate - (double)(swap.NPV()/(swap.legBPS(1) / bp));
List<double> exerciceRate = new InitializedList<double>(1,fairRate);
cap_ = new Cap(floatingLeg, exerciceRate);
marketValue_ = blackPrice(volatility_.link.value());
}