private void drawOmegaChart() { ChartSize chartSize = getChartSize(); for (int price = (int)chartSize.chartStart; price < chartSize.chartEnd; price++) { double omega = optionsCalculator.getOmega(price); omegaChart.Series[0].Points.AddXY(price, omega); } }
private void drawGreeksChart() { ChartSize chartSize = getChartSize(); for (int price = (int)chartSize.chartStart; price < chartSize.chartEnd; price++) { double delta = optionsCalculator.getDelta(price); double gamma = optionsCalculator.getGamma(price); double theta = optionsCalculator.getTheta(price); chart1.Series[0].Points.AddXY(price, gamma); chart1.Series[1].Points.AddXY(price, delta); chart1.Series[2].Points.AddXY(price, theta); Console.WriteLine($"Price: {price} / Delta: {delta} / Gamma: {gamma} / Theta: {theta}"); } }
private ChartSize getChartSize() { double chartStart; double chartEnd; if (optionsCalculator.strikePrice > optionsCalculator.underlyingPrice) { chartEnd = optionsCalculator.strikePrice; chartStart = optionsCalculator.underlyingPrice; } else { chartStart = optionsCalculator.strikePrice; chartEnd = optionsCalculator.underlyingPrice; } ChartSize chartSize = new ChartSize(chartStart, chartEnd); return(chartSize); }