Skip to content

Commit 3386899

Browse files
damienbarkerjenkins
authored andcommitted
QPR-12213: Commodity Forward Notional Change
1 parent a60ca13 commit 3386899

2 files changed

Lines changed: 4 additions & 14 deletions

File tree

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#TradeId,TradeType,Maturity,MaturityTime,NPV,NpvCurrency,NPV(Base),BaseCurrency,Notional,NotionalCurrency,Notional(Base),NettingSet,CounterParty
2-
CommodityForward_Gold_1Y,CommodityForward,2017-02-05,1.000262,1398.707538,USD,1398.707538,USD,1160593.33,USD,1160593.33,CPTY_A,CPTY_A
2+
CommodityForward_Gold_1Y,CommodityForward,2017-02-05,1.000262,1398.707538,USD,1398.707538,USD,1162000.0,USD,1162000.0,CPTY_A,CPTY_A
33
CommodityForward_Gold_Apr_17,CommodityForward,2017-04-28,1.224920,0.000000,USD,0.000000,USD,580900.00,USD,580900.00,CPTY_A,CPTY_A
4-
CommodityForward_WTI_2Y,CommodityForward,2018-02-05,2.000262,-1669620.658788,USD,-1669620.658788,USD,44308571.43,USD,44308571.43,CPTY_A,CPTY_A
4+
CommodityForward_WTI_2Y,CommodityForward,2018-02-05,2.000262,-1669620.658788,USD,-1669620.658788,USD,46000000.0,USD,46000000.0,CPTY_A,CPTY_A
55
CommodityForward_WTI_Oct_21,CommodityForward,2021-10-31,5.734509,0.000000,USD,0.000000,USD,24875000.00,USD,24875000.00,CPTY_A,CPTY_A
66
CommodityOption_WTI_Oct_21,CommodityOption,2021-10-31,5.734509,2399271.748696,USD,2399271.748696,USD,24875000.00,USD,24875000.00,CPTY_A,CPTY_A
77
CommodityOption_Gold_Apr_17,CommodityOption,2017-04-28,1.224920,-23531.459416,USD,-23531.459416,USD,580900.00,USD,580900.00,CPTY_A,CPTY_A

OREData/ored/portfolio/commodityforward.cpp

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ void CommodityForward::build(const boost::shared_ptr<EngineFactory>& engineFacto
148148
npvCurrency_ = fixingDate_==Date() ? currency_ : payCcy_;
149149

150150
// notional_ = strike_ * quantity_;
151-
notional_ = Null<Real>(); // is handled by override of notional()
151+
notional_ = strike_ * quantity_;
152152
notionalCurrency_ = currency_;
153153

154154
additionalData_["quantity"] = quantity_;
@@ -168,17 +168,7 @@ void CommodityForward::build(const boost::shared_ptr<EngineFactory>& engineFacto
168168
additionalData_["isdaTransaction"] = string("");
169169
}
170170

171-
Real CommodityForward::notional() const {
172-
// try to get the notional from the additional results of the instrument
173-
try {
174-
return instrument_->qlInstrument(true)->result<Real>("currentNotional");
175-
} catch (const std::exception& e) {
176-
if (strcmp(e.what(), "currentNotional not provided"))
177-
ALOG("error when retrieving notional: " << e.what());
178-
}
179-
// if not provided, return null
180-
return Null<Real>();
181-
}
171+
Real CommodityForward::notional() const { return notional_; }
182172

183173
std::map<AssetClass, std::set<std::string>>
184174
CommodityForward::underlyingIndices(const boost::shared_ptr<ReferenceDataManager>& referenceDataManager) const {

0 commit comments

Comments
 (0)