Example #1
0
        static void Main(string[] args)
        {
            Strat strat = new Strat("cPrJiV2qrzcg4FH4xv54F6Ko5Eq8QkbygLjUhbfHVEg9Zp2QpyzR", Network.TestNet);

            Console.WriteLine("Press a key to exit");
            Console.Read();
        }
Example #2
0
 //function for coordinating junction
 public void CoordinateJunctions(int ToD, int[] PreviousStage, Returner ReturnerVariables)
 {
     foreach (JunctionAgent JA in Junctions)
     {
         JA.MediateAuction(ToD, PreviousStage, ReturnerVariables);
     }
     Strat.ProcessZone(this, ToD, PreviousStage, ReturnerVariables);
     //WriteBidsDataBase(ToD);
     //WriteSITDataBase(ToD);
 }
 /// <summary>
 /// Returns the number of tries that are logically expected to be attempted before a success for the provided strat.
 /// </summary>
 /// <param name="strat"></param>
 /// <returns></returns>
 public int NumberOfTries(Strat strat)
 {
     if (strat.Notable && TriesByStrat.TryGetValue(strat.Name, out int tries))
     {
         return(tries);
     }
     else
     {
         return(1);
     }
 }
Example #4
0
        //*class function
        public void GenerateBid(int ToD)
        {
            foreach (LaneAgent LA in Lanes)
            {
                LA.PopulateAgentData(ToD); //AH's function
                LA.GenerateBidTurns();     //AH's function

                //LA.PullDataAtTime(ToD);    //SB's original function
                //LA.GenerateBid();          //SB's original function
            }
            Strat.ProcessStage(this);
        }
Example #5
0
 //*Function for mediating the auction
 public void MediateAuction(int ToD, int[] PreviousStage, Returner ReturnerVariables)
 {
     AllPhases.Clear();
     foreach (StageAgent SA in Stages)
     {
         SA.GenerateBid(ToD);
         foreach (double PhaseBid in SA.LanePhases)
         {
             AllPhases.Add(PhaseBid);
         }
     }
     Strat.ProcessJunction(this, PreviousStage, ReturnerVariables);
 }
Example #6
0
        public void Test1()
        {
            LesPaul lesPaul = new LesPaul();

            Console.WriteLine(lesPaul.PlaySolo("Playing a solo"));
            //Console.WriteLine(lesPaul.PlayRhythm("Playing rhythm"));


            Strat strat = new Strat();

            Console.WriteLine(((IGuitar)strat).PlaySolo("Playing my solo"));
            Console.WriteLine(((IAxe)strat).PlaySolo("Playing my solo"));
        }
Example #7
0
 public static KeyValuePair<ConstructGen<double>, ReturnsEval.DataSeriesEvaluator> getWE(Strat strat_)
 {
   var ret = pullFromDisk(getPath(strat_));
   ret.Value.Name = strat_.ToString();
   return ret;
 }
Example #8
0
 //Function to generate a bid
 public void GenerateBidTurns()
 {
     //Strat.ProcessLaneTurns(this);
     Strat.ProcessLane(this);
 }
Example #9
0
 public CarryBase(Strat strat_, ExcelOpt.CarryOptARgs carryArgs_)
   : base(strat_)
 {
   Args = carryArgs_;
 }
Example #10
0
    public static void UpdateToDisk(Strat strat)
    {
      Logger.Debug(string.Format("Attempting to update {0} backtest to disk", strat), typeof (BacktestHelper));

      UpdateToDisk(Runners.RunnerFactory.GetRunner(strat));
    }
 public EnvironmentImpactedBase(Strat strat_, Calculator calculator_)
   : base(strat_)
 {
   EnvironCalc = calculator_;
 }
 protected EnvironBacktestBase(Strat thisStrat_, Calculator calculator_)
   : base(thisStrat_)
 {
   Calculator = calculator_;
 }
Example #13
0
        private void PlayTurn()
        {
            if (Deck.IsEmpty)
            {
                return;
            }
            int  colourGuess = Strat.ChooseColour(Deck);
            Card dealtCard1  = Deck.DealRandomCard();

            if (colourGuess != dealtCard1.Colour)
            {
                DrinksTaken++;
                return;
            }

            if (Deck.IsEmpty)
            {
                return;
            }
            int  highLowGuess = Strat.ChooseHighLow(dealtCard1, Deck);
            Card dealtCard2   = Deck.DealRandomCard();

            if ((highLowGuess == Strategy.HL_HIGH && !dealtCard2.IsHigherThan(dealtCard1)) ||
                (highLowGuess == Strategy.HL_LOW && !dealtCard2.IsLowerThan(dealtCard1)) ||
                (highLowGuess == Strategy.HL_EQUAL && !dealtCard2.HasSameRankAs(dealtCard1)))
            {
                DrinksTaken++;
                return;
            }

            if (Deck.IsEmpty)
            {
                return;
            }
            int  inOutGuess = Strat.ChooseInOut(dealtCard1, dealtCard2, Deck);
            Card dealtCard3 = Deck.DealRandomCard();

            if ((highLowGuess == Strategy.IO_IN && !dealtCard3.IsInside(dealtCard1, dealtCard2)) ||
                (highLowGuess == Strategy.IO_OUT && !dealtCard3.IsOutside(dealtCard1, dealtCard2)) ||
                (highLowGuess == Strategy.IO_ON && dealtCard3.IsOnTopOf(dealtCard1, dealtCard2)))
            {
                DrinksTaken++;
                return;
            }

            if (Deck.IsEmpty)
            {
                return;
            }
            bool faceGuess = Strat.ChooseHasFace(Deck);

            if (Deck.DealRandomCard().IsFace != faceGuess)
            {
                DrinksTaken++;
                return;
            }

            if (Deck.IsEmpty)
            {
                return;
            }
            int suitGuess = Strat.ChooseSuit(Deck);

            if (Deck.DealRandomCard().Suit != suitGuess)
            {
                DrinksTaken++;
                return;
            }

            WonGame = true;
            return;
        }
 /// <summary>
 /// Positions the in-game state at the provided node. This node should be inside the current room.
 /// </summary>
 /// <param name="nodeToVisit">The node to go to</param>
 /// <param name="strat">The strat through which the node is being reached. Can be null. If not null, only makes sense if
 /// it's on a link that connects previous node to new node.</param>
 public void ApplyVisitNode(RoomNode nodeToVisit, Strat strat)
 {
     InRoomState.ApplyVisitNode(nodeToVisit, strat);
 }
Example #15
0
 public RVOLBase(ExcelOpt.RVOLOpt.RVolOptArgs args_, Strat strat_)
   : base(strat_)
 {
   RVOLArgs = args_;
 }
Example #16
0
 public static void DisplayAvgFlow(Strat strat_)
 {
   DisplayAvgFlow(getWE(strat_).Key,
     string.Format("{0} average flow", EnumDescriptionAttribute.GetDescription(strat_)));
 }
Example #17
0
 public BacktestBase(Strat stratCode_)
 {
   StrategyCode = stratCode_;
 }
Example #18
0
 public BackTestDB(Strat strat_, string strategyCodeDB_)
   : base(strat_)
 {
   DBStratCode = strategyCodeDB_;
 }
Example #19
0
    public static IBacktest GetRunner(Strat strat_)
    {
      IBacktest ret = null;

      switch (strat_)
      {
        case Strat.Carry_ExMyrINR:
          ret = new Carry_ExMyrINR();
          break;
        case Strat.Carry_FullUniverse:
          ret = new CarryFullUniverse();
          break;
        case Strat.Carry_FullUniverse_USDflat:
          ret = new Carry_USDFlat();
          break;
        case Strat.Carry_FullUniverse_USDflat_10:
          ret = new Carry_USDFlat_10();
          break;
        case Strat.Carry_FullUniverse_USDflat_15:
          ret = new Carry_USDFlat_15();
          break;
        case Strat.Carry_FullUniverse_USDflat_20:
          ret = new Carry_USDFlat_20();
          break;
        case Strat.Carry_FullUniverse_USDflat_100:
          ret = new Carry_USDFlat_100();
          break;
        case Strat.Carry_FullUniverse_USDflat_5_20:
          ret = new Carry_USDFlat_5_20();
          break;
        case Strat.Carry_FullUniverse_USDflat_ExcludeVolBreakout_1:
          ret = new CarryExcludeVolBreakout();
          break;
        case Strat.Carry_FullUniverse_USDFlat_ExcludeVolBreakout_1_Context:
          ret = new CarryExcludeVolBreakout_Context();
          break;
        case Strat.Carry_FullUniverse_USDflat_ExcludeVolBreakout_2:
          ret = new CarryExcludeVolBreakout2();
          break;
        case Strat.Carry_FullUniverse_USDFlat_ExcludeVolBreakout_2_Context:
          ret = new CarryExcludeVolBreakout2_Context();
          break;
        case Strat.Carry_FullUniverse_USDflat_FXVol1M:
          ret = new Carry_USDFlat_FXVol();
          break;
        case Strat.Carry_FullUniverse_USDflat_FIVol:
          ret = new Carry_USDFlat_FIVol();
          break;
        case Strat.Carry_FullUniverse_USDflat_OutATMVols_pt7:
          ret = new Carry_USDFlat_ATMVols_pt7();
          break;
        case Strat.DB_Carry:
          ret = new BackTestDB(strat_, "Carry");
          break;
        case Strat.DB_Carry_2VaR:
          ret = new Carry_DB_2VaR();
          break;
        case Strat.DB_ECEM_D15:
          ret=new BackTestDB(strat_,"EQCEM1");
          break;
        case Strat.DB_ECEM_D27:
          ret = new BackTestDB(strat_, "EQCEM2");
          break;
        case Strat.DB_ECEM_RV17:
          ret = new BackTestDB(strat_, "ECEMRV");
          break;
        case Strat.DB_ECEM_RV27:
          ret = new BackTestDB(strat_, "ECEMRV1");
          break;
        case Strat.DB_ECG10_AD:
          ret = new BackTestDB(strat_, "ECG10AD");
          break;
        case Strat.DB_ECG10_D10:
          ret = new BackTestDB(strat_, "EQC2");
          break;
        case Strat.DB_ECG10_D5:
          ret = new BackTestDB(strat_, "ECORR");
          break;
        case Strat.DB_ECG10_RV17:
          ret = new BackTestDB(strat_, "ECG10RV1");
          break;
        case Strat.DB_ECG10_RV7:
          ret = new BackTestDB(strat_, "ECG10RV");
          break;
        case Strat.DB_IRM2:
          ret = new BackTestDB(strat_, "IRM2");
          break;
        case Strat.DB_IRM2ACC:
          ret = new BackTestDB(strat_, "IRM2 ACC");
          break;
        case Strat.DB_IRM5:
          ret = new BackTestDB(strat_, "IRM5");
          break;
        case Strat.DB_IRM5ACC:
          ret = new BackTestDB(strat_, "IRM5 ACC");
          break;
        case Strat.DB_IRM10:
          ret = new BackTestDB(strat_, "IRM10");
          break;
        case Strat.DB_MR:
          ret = new BackTestDB(strat_, "EMMR");
          break;
        case Strat.DB_Tech5:
          ret = new BackTestDB(strat_, "Tech 5");
          break;
        case Strat.DB_Tech13:
          ret = new BackTestDB(strat_, "Tech 13");
          break;
        case Strat.DB_Tech16:
          ret = new BackTestDB(strat_, "Tech 16");
          break;
        case Strat.DB_Tech27:
          ret = new BackTestDB(strat_, "Tech 27");
          break;
        case Strat.RVOL:
          ret = new RVOL.RVOL_NoFlip_G10_EM();
          break;
        case Strat.RVOL_NoJPYMYRINR:
          ret = new RVOL.RVOL_NoFlip_G10_EM_NoJPYMYRINR();
          break;
        case Strat.RVOL_NDF2:
          ret = new RVOL.RVOL_NoFlip_G10_EM_NDF2();
          break;
        case Strat.RVOL_ExclCorr_r1:
          ret = new RVOL.RVOL_NoFlip_G10_EM_ExclCorr_r1();
          break;
        case Strat.RVOL_ExclCorr_pct10:
          ret = new RVOL.RVOL_NoFlip_G10_EM_ExclCorr_pct10();
          break;
        case Strat.RVOL_FlipDXY21:
          ret = new RVOL.RVOL_FlipDXY21_G10_EM();
          break;
        case Strat.RVOL_G10:
          ret = new RVOL.RVOL_G10();
          break;
        case Strat.RVOL_EM:
          ret = new RVOL.RVOL_EM();
          break;
        case Strat.RVOL_USDflat_SF:
          ret = new RVOL.RVOL_USDflat_SF();
          break;
        case Strat.Scratchpad:
          ret = new ScratchPad();
          break;
        case Strat.CommodBreakout:
          ret = new BreakOutOptEqualER();
          break;
        case Strat.CommodsBreakout_VolEER:
          ret = new BreakoutLTVolER();
          break;
        case Strat.CommodsBreakout_ScratchPad:
          ret = new BreakoutScratchPad();
          break;
        case Strat.FXBreakout_AsiaIncG10:
          ret = new Breakout.AsiaIncG10Raw();
          break;
        case Strat.FxBreakout_CEEMEA:
          ret = new Breakout.CEEMEARaw();
          break;
        case Strat.FXBreakout_Americas:
          ret = new Breakout.Americas();
          break;
        default:
          Logger.Warn(string.Format("Runner for '{0}' has not been set up in factory", strat_), typeof (RunnerFactory));
          break;
      }

      return ret;
    }
Example #20
0
    public static void CompareResults(Strat[] strats_)
    {
      var results = new BindingList<Backtest.SimResultGen<Strat>>();

      foreach(var s in strats_)
      {
        var we = getWE(s);

        if (we.Value == null) continue;

        var eval = we.Value;
        var wts = we.Key;
        results.Add(new Backtest.SimResultGen<Strat>(s, wts, eval));
      }

      var grid = new SI.Controls.BoundInfraGrid();
      grid.Bind(results);

      grid.AddClickHandler("Sharpe", (a, b) =>
      {
        ((Backtest.SimResultGen<Strat>)b.ListObject).Perf.Display();
      });

      grid.AddClickHandler("NumRebals", (a, b) =>
      {
        ((Backtest.SimResultGen<Strat>)b.ListObject).Weights.DisplayInGrid("Weights");
      });

      grid.AddClickHandler("Stat", (a, b) =>
      {
        ((Backtest.SimResultGen<Strat>)b.ListObject).WtsAnalyzer.Display("weights analysis");
      });

      grid.Grid.DisplayLayout.Bands[0].Columns["Param3"].Hidden = true;
      grid.Grid.DisplayLayout.Bands[0].Columns["Param4"].Hidden = true;
      grid.DisplayInShowForm("Comparison of results");
    }
 public bool IsStratEnabled(Strat strat)
 {
     // Non-notable strats are always enabled. Beyond that, strats are enabled by default unless disabled
     return(!strat.Notable || !DisabledStrats.Contains(strat.Name));
 }
Example #22
0
 public static void CommitBacktest(Strat strat_,
   KeyValuePair<ConstructGen<double>, ReturnsEval.DataSeriesEvaluator> kvp_)
 {
   Logger.Debug(string.Format("Commiting {0} backtest to disk", strat_), typeof (BacktestHelper));
   kvp_.WriteToDisk(getPath(strat_));
 }
 public MoveToNodeAction(string intent, SuperMetroidModel model, InGameState initialInGameState, Strat stratUsed, ExecutionResult executionResult) :
     base(intent, model, initialInGameState, executionResult)
 {
     StratUsed = stratUsed;
 }
Example #24
0
 private static string getPath(Strat strat_)
 {
   return string.Format(@"{0}\{1}.we", DIR, strat_);
 }