public Opcao(
     string stockTicker, string ticker, StrikeDeadline deadline, double strike,
     int operacao, int tipo) : base(stockTicker)
 {
     this.Ticker   = ticker;
     this.Deadline = deadline;
     this.Strike   = strike;
     this.Operacao = (DireitoCompraVenda)Enum.ToObject(typeof(DireitoCompraVenda), operacao);
     this.Tipo     = (TipoOpcao)Enum.ToObject(typeof(TipoOpcao), tipo);
 }
        public Opcao(
            string stockTicker, StrikeDeadline deadline, double strike,
            DireitoCompraVenda operacao, TipoOpcao tipo) : base(stockTicker)
        {
            this.Deadline = deadline;
            this.Operacao = operacao;
            this.Tipo     = tipo;
            this.Strike   = strike;

            if (operacao == DireitoCompraVenda.Call)
            {
                String.Format("%s%s%d", this.AcaoTicker.Substring(0, 4), this.Deadline.CallSymbol, (this.Strike * 10));
            }
            else
            {
                String.Format("%s%s%d", this.AcaoTicker, this.Deadline.PutSymbol, (this.Strike * 10));
            }
        }