Esempio n. 1
0
 private void UpdateOptionGridTickOption(DataGridView grid, int row, TickOptionMessage message)
 {
     grid[IMPLIED_VOLATILITY_INDEX, row].Value = message.ImpliedVolatility;
     grid[DELTA_INDEX, row].Value = message.Delta;
     grid[GAMMA_INDEX, row].Value = message.Gamma;
     grid[VEGA_INDEX, row].Value  = message.Vega;
     grid[THETA_INDEX, row].Value = message.Theta;
 }
Esempio n. 2
0
        private void ibClient_Tick(TickOptionMessage msg)
        {
            if (isDebug)
            {
                Console.WriteLine("Tick Size. Ticker Id:" + msg.RequestId + ", Symbol: " + dicAssets[msg.RequestId].Con.Symbol + ", Type: " + TickType.getField(msg.Field));
                Console.WriteLine("Delta: " + msg.Delta + ", Gamma: " + msg.Gamma + ", Vega: " + msg.Vega + ", Theta: " + ", IV: " + msg.ImpliedVolatility + ", OptPrice:" + msg.OptPrice + ", PvDividend: " + msg.PvDividend + ", UndPrice: " + msg.UndPrice);
            }

            dicAssets[msg.RequestId].ImpliedVolatility = msg.ImpliedVolatility;
            dicAssets[msg.RequestId].Delta             = msg.Delta;
            dicAssets[msg.RequestId].Gamma             = msg.Gamma;
            dicAssets[msg.RequestId].Vega       = msg.Vega;
            dicAssets[msg.RequestId].Theta      = msg.Theta;
            dicAssets[msg.RequestId].OptPrice   = msg.OptPrice;
            dicAssets[msg.RequestId].PvDividend = msg.PvDividend;
            dicAssets[msg.RequestId].UndPrice   = msg.UndPrice;
        }
Esempio n. 3
0
        private void ibClient_Tick(TickOptionMessage msg)
        {
            if (isDebug)
            {
                Console.WriteLine("Tick Option. Ticker Id: {0}, Symbol: {1}, Type: {2}",
                                  msg.RequestId, dicAssets[msg.RequestId].Con.Symbol, TickType.getField(msg.Field));
                Console.WriteLine("Delta: {0}, Gamma: {1}, Vega: {2}, Theta: {3}, IV: {4}, OptPrice: {5}, PvDividend: {6}, UndPrice: {7}",
                                  msg.Delta, msg.Gamma, msg.Vega, msg.Theta, msg.ImpliedVolatility, msg.OptPrice, msg.PvDividend, msg.UndPrice);
            }

            dicAssets[msg.RequestId].ImpliedVolatility = msg.ImpliedVolatility;
            dicAssets[msg.RequestId].Delta             = msg.Delta;
            dicAssets[msg.RequestId].Gamma             = msg.Gamma;
            dicAssets[msg.RequestId].Vega       = msg.Vega;
            dicAssets[msg.RequestId].Theta      = msg.Theta;
            dicAssets[msg.RequestId].OptPrice   = msg.OptPrice;
            dicAssets[msg.RequestId].PvDividend = msg.PvDividend;
            dicAssets[msg.RequestId].UndPrice   = msg.UndPrice;

            if (OnGreeksEvent != null)
            {
                OnGreeksMessage e = new OnGreeksMessage();
                e.RequestId         = msg.RequestId;
                e.Symbol            = dicAssets[msg.RequestId].Con.Symbol;
                e.AssetID           = dicAssets[msg.RequestId].ID;
                e.Type              = TickType.getField(msg.Field);
                e.Delta             = msg.Delta;
                e.Gamma             = msg.Gamma;
                e.Vega              = msg.Vega;
                e.Theta             = msg.Theta;
                e.ImpliedVolatility = msg.ImpliedVolatility;
                e.OptPrice          = msg.OptPrice;
                e.PvDividend        = msg.PvDividend;
                e.UndPrice          = msg.UndPrice;

                OnGreeksEvent(e);
            }
        }