Source code for Common.MarketStateKeys

from Common.MarketStateKey import MarketStateKey

[docs]class MarketStateKeys: """ Static class regrouping the different market state keys used for greeks computation. Examples -------- >>> from Common.MarketStateKeys import MarketStateKeys >>> delta_up_key = MarketStateKeys.delta_up >>> print(delta_up_key) Delta_Up >>> gamma_up_up_key = MarketStateKeys.gamma_up_up >>> print(gamma_up_up_key) Gamma_Up_Up >>> smile_risk_25_up = MarketStateKeys.smile_risk_up(0.25) >>> print(smile_risk_25_up) Smile_Risk_0.25_Up """ # No deformation State price = MarketStateKey("Price") # Delta Scheme Definition delta_up = MarketStateKey("Delta_Up") delta_down = MarketStateKey("Delta_Down") # Gamma Scheme Definition gamma_up_up = MarketStateKey("Gamma_Up_Up") gamma_up_down = MarketStateKey("Gamma_Up_Down") gamma_down_up = MarketStateKey("Gamma_Down_Up") gamma_down_down = MarketStateKey("Gamma_Down_Down") # Vega Scheme Definition vega_up = MarketStateKey("Vega_Up") vega_down = MarketStateKey("Vega_Down") # Theta Scheme Definition theta_up = MarketStateKey("Theta_Up") # Rho Scheme Definition rho_up = MarketStateKey("Rho_Up") # Vanna Scheme Definition vanna_delta_up_vega_up = MarketStateKey("Vanna_Delta_Up_Vega_Up") vanna_delta_up_vega_down = MarketStateKey("Vanna_Delta_Up_Vega_Down") vanna_delta_down_vega_up = MarketStateKey("Vanna_Delta_Down_Vega_Up") vanna_delta_down_vega_down = MarketStateKey("Vanna_Delta_Down_Vega_Down") # Volga Scheme Definition volga_up_up = MarketStateKey("Volga_Up_Up") volga_up_down = MarketStateKey("Volga_Up_Down") volga_down_up = MarketStateKey("Volga_Down_Up") volga_down_down = MarketStateKey("Volga_Down_Down") # Smile Definition @staticmethod def smile_risk_up(moneyness : float) -> MarketStateKey: return MarketStateKey("Smile_Risk_{0}_Up".format(str(moneyness))) @staticmethod def smile_risk_down(moneyness : float) -> MarketStateKey: return MarketStateKey("Smile_Risk_{0}_Down".format(str(moneyness)))
if __name__ == "__main__": import doctest doctest.testmod()