#include #include "Call.h" #include "Put.h" int main () { double s = 30; double x = 29; double riskFree = 0.05; double vol = 0.3; double days = 40; double daysPerYear = 365; double timeToExpiry = days/daysPerYear; cout << "Black Scholes C++ implementation" << endl; cout << "Call:" << endl; Call c = Call(s, x, riskFree, vol, timeToExpiry); cout << "spot = "; cout << c.getSpot() << endl; cout << "d1 = "; cout << c.getD1() << endl; cout << "d2 = "; cout << c.getD2() << endl; cout << "delta = "; cout << c.getDelta() << endl; cout << "gamma = "; cout << c.getGamma() << endl; cout << "theta = "; cout << c.getTheta() << endl; cout << "rho = "; cout << c.getRho() << endl; cout << "vega = "; cout << c.getVega() << endl; cout << "Black Scholes price = "; cout << c.priceEuropeanBlackScholes() << endl; cout << "Binomial price = "; cout << c.priceEuropeanBinomial(16) << endl; cout << "Monte Carlo price = "; cout << c.priceEuropeanMonteCarlo(5000) << endl; cout << "Put:" << endl; Put p = Put(s, x, riskFree, vol, timeToExpiry); cout << "spot = "; cout << p.getSpot() << endl; cout << "d1 = "; cout << p.getD1() << endl; cout << "d2 = "; cout << p.getD2() << endl; cout << "delta = "; cout << p.getDelta() << endl; cout << "gamma = "; cout << p.getGamma() << endl; cout << "theta = "; cout << c.getTheta() << endl; cout << "rho = "; cout << p.getRho() << endl; cout << "vega = "; cout << p.getVega() << endl; cout << "Black Scholes price = "; cout << p.priceEuropeanBlackScholes() << endl; cout << "Binomial price = "; cout << p.priceEuropeanBinomial(16) << endl; // cout << "Monte Carlo price = "; // cout << p.priceEuropeanMonteCarlo(5000) << endl; // return 0; }