Files
Work/analytic/PORTFLIO.HPP
2024-08-07 09:12:07 -04:00

38 lines
994 B
C++

#ifndef _ANALYTIC_PORTFOLIO_HPP_
#define _ANALYTIC_PORTFOLIO_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
#ifndef _COMMON_SMARTPOINTER_HPP_
#include <common/pointer.hpp>
#endif
#ifndef _COMMON_BLOCK_HPP_
#include <common/block.hpp>
#endif
#ifndef _ANALYTIC_INSTRUMENT_HPP_
#include <analytic/instrmnt.hpp>
#endif
#ifndef _ANALYTIC_RATE_HPP_
#include <analytic/rate.hpp>
#endif
typedef SmartPointer<Instrument> FinancialInstrument;
typedef Block<FinancialInstrument> FinancialInstruments;
class Portfolio : public FinancialInstruments
{
public:
Portfolio(void);
virtual ~Portfolio();
BOOL operator==(const Portfolio &portfolio)const;
int getCashflows(GlobalData<double> &sumCashflows);
Rate yield(void);
private:
Portfolio(const Portfolio &portfolio);
Portfolio &operator=(const Portfolio &portfolio);
double discount(Rate yield,GlobalData<double> &cashflows);
Rate discount(double market,GlobalData<double> &cashflows);
Rate wac(void);
};
#endif