📄 pathdependentasian.cpp
字号:
//
//
//
// PathDependentAsian.cpp
//
//
#include <PathDependentAsian.h>
PathDependentAsian::PathDependentAsian(const MJArray& LookAtTimes_,
double DeliveryTime_,
const PayOffBridge& ThePayOff_)
:
PathDependent(LookAtTimes_),
DeliveryTime(DeliveryTime_),
ThePayOff(ThePayOff_),
NumberOfTimes(LookAtTimes_.size())
{
}
unsigned long PathDependentAsian::MaxNumberOfCashFlows() const
{
return 1UL;
}
MJArray PathDependentAsian::PossibleCashFlowTimes() const
{
MJArray tmp(1UL);
tmp[0] = DeliveryTime;
return tmp;
}
unsigned long PathDependentAsian::CashFlows(const MJArray& SpotValues,
std::vector<CashFlow>& GeneratedFlows) const
{
double sum = SpotValues.sum();
double mean = sum/NumberOfTimes;
GeneratedFlows[0].TimeIndex = 0UL;
GeneratedFlows[0].Amount = ThePayOff(mean);
return 1UL;
}
PathDependent* PathDependentAsian::clone() const
{
return new PathDependentAsian(*this);
}
/*
*
* Copyright (c) 2002
* Mark Joshi
*
* Permission to use, copy, modify, distribute and sell this
* software for any purpose is hereby
* granted without fee, provided that the above copyright notice
* appear in all copies and that both that copyright notice and
* this permission notice appear in supporting documentation.
* Mark Joshi makes no representations about the
* suitability of this software for any purpose. It is provided
* "as is" without express or implied warranty.
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -