static void Main(string[] _)
        {
            try
            {
                // Create the platform session.
                using (ISession session = Configuration.Sessions.GetSession())
                {
                    // Open the session
                    session.Open();

                    // Mixed Options
                    var binary = OptionFx.BinaryDefinition(OptionFx.BinaryType.OneTouchDeferred,
                                                           1.2001).SettlementType(OptionFx.SettlementType.Cash)
                                 .PayoutAmount(1000000);
                    Common.DisplayTable(FinancialContracts.Definition().Universe(OptionEti.Definition("FCHI560000L1.p"),
                                                                                 OptionFx.Definition().FxCrossCode("EURUSD")
                                                                                 .Tenor("1M")
                                                                                 .BinaryDefinition(binary),
                                                                                 OptionEti.Definition("FCHI505000O1.p"))
                                        .Fields("InstrumentDescription", "InstrumentCode", "FxCrossCode", "StrikePrice",
                                                "DeltaPercent", "OptionPrice", "UnderlyingRIC")
                                        .GetData(), "Mixed Options");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine($"\n**************\nFailed to execute: {e.Message}\n{e.InnerException}\n***************");
            }
        }
Ejemplo n.º 2
0
        static void Main(string[] _)
        {
            try
            {
                // Create the platform session.
                using ISession session = Configuration.Sessions.GetSession();

                // Open the session
                session.Open();

                // Single ETI Option -default parameters
                var response = OptionEti.Definition("AAPLM212222500.U").GetData();
                Common.DisplayTable("Single ETI Option - Columns truncated", response, 10);

                // Multiples ETI options - default parameters (Buy Call)
                response = OptionEti.Definition("FCHI560000L1.p", "AAPLM212222500.U").Fields("InstrumentCode", "StrikePrice", "EndDate", "ExerciseType",
                                                                                             "OptionPrice", "UnderlyingRIC", "ErrorMessage")
                           .GetData();
                Common.DisplayTable("Multiple ETI Options", response);

                // OTC Eti Option
                response = OptionEti.Definition().ExcerciseStyle(OptionEti.ExerciseStyle.Amer)
                           .Strike(255)
                           .EndDate(DateTime.Now.AddDays(30))
                           .BuySell(FinancialContracts.BuySell.Sell)
                           .CallPut(FinancialContracts.CallPut.Call)
                           .UnderlyingInstrument("AAPL.O")
                           .Fields("InstrumentCode", "ExerciseType", "ValuationDate", "EndDate", "StrikePrice", "OptionPrice",
                                   "UnderlyingRIC", "UnderlyingPrice", "ExerciseStyle", "ErrorMessage")
                           .GetData();
                Common.DisplayTable("OTC Option", response);

                // FX Option (include some pricing and binary properties)
                var pricing = OptionFx.PricingDefinition().CutoffTimeZone(OptionFx.CutoffTimeZone.GMT)
                              .FxSpotObject(OptionFx.BidAskMidDefinition().Mid(2.5))
                              .CutoffTime("1500PM")
                              .PricingModelType(OptionFx.PricingModelType.VannaVolga);
                var binary = OptionFx.BinaryDefinition(OptionFx.BinaryType.OneTouchDeferred,
                                                       1.2001).PayoutAmount(1000000);

                response = OptionFx.Definition().Fields("FxCrossCode", "EndDate", "ForeignCcy", "FxSwap", "ErrorMessage")
                           .FxCrossCode("EURUSD")
                           .SettlementType(OptionFx.SettlementType.Cash)
                           .Tenor("1M")
                           .BinaryDefinition(binary)
                           .PricingParams(pricing)
                           .GetData();
                Common.DisplayTable("FX Option - Specify some pricing and binary properties", response);
            }
            catch (Exception e)
            {
                Console.WriteLine($"\n**************\nFailed to execute: {e.Message}\n{e.InnerException}\n***************");
            }
        }