static void Main(string[] args) { //BarDay.LoadYear(2016); BarDay.LoadDay(2015, 11, 13); float[][] arrs = new float[4][]; arrs[0] = BarDay.arr; arrs[1] = BarDay.arr5; arrs[2] = BarDay.arr15; arrs[3] = BarDay.arr390; BarDay.dates = new string[] { "11/13/2015" }; List <IBarDay> bdlist = new List <IBarDay>(); for (int i = 0; i < BarDay.symbols.Count(); i++) { for (int j = 0; j < BarDay.dates.Count(); j++) { bdlist.Add(new BarDay(j, i)); } } Test t = new MyTest.MyTest(); //ILookup<DateTime, IBarDay> bdl = bdlist.ToLookup(k => DateTime.Parse("01/02/1998")); //t.Container = new TestContainer(); Test.type = typeof(MyTest.MyTest); System.Diagnostics.Stopwatch sw = System.Diagnostics.Stopwatch.StartNew(); t.run(bdlist.ToArray(), BarDay.symbols, BarDay.dates, arrs, null, null); sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds); List <string> testr = new List <string>(); foreach (TestResult tr in Test.testResults) { testr.Add(tr.ToString()); } File.WriteAllLines(@"c:\src\r.txt", testr); File.WriteAllLines(@"c:\src\m.txt", Test.results); //tc.type = typeof(MyTest); //TestResult tr = tc.TestDay(bdl, DateTime.Parse("01/02/1998")); PostToGoogle(new string[] { "a b c d e f g h i j" }); }
static void setup(int year, int month) { string filter = $@"{year.ToString("0000")}{month.ToString("00")}*.bin"; string[] files = Directory.GetFiles($@"{minuteData}", filter); files = (from f in files where f.EndsWith(".bin") select f).ToArray(); foreach (string file in files) { var ymd = getymd(file); BarDay.LoadDay(ymd.Item1, ymd.Item2, ymd.Item3); float[] tarr = BarDay.arr; BarDay.LoadDay(ymd.Item1, ymd.Item2, ymd.Item3, true); string date = $"{ymd.Item2.ToString("00")}/{ymd.Item3.ToString("00")}/{ymd.Item1.ToString("0000")}"; List <IBarDay> bdlist = new List <IBarDay>(); for (int i = 0; i < BarDay.symbols.Count(); i++) { BarDay.dates = new string[] { date }; for (int j = 0; j < BarDay.dates.Count(); j++) { bdlist.Add(new BarDay(j, i)); } } string prev = Utility.GetTradingDay(date, -1); string nxt = Utility.GetTradingDay(date, 1); Dictionary <string, IDayCandle> prevDay = Utility.LoadDayCandles(prev, BarDay.symbols); Dictionary <string, IDayCandle> nxtDay = Utility.LoadDayCandles(nxt, BarDay.symbols); Dictionary <string, IDayCandle> today = Utility.LoadDayCandles(date, BarDay.symbols); dictionary[date] = new TestDay() { arr = tarr, symbols = BarDay.symbols, bdlist = bdlist, ndArr = BarDay.arr, nextDay = nxtDay, prevDay = prevDay, toDay = today }; } //arrs[0] = BarDay.arr; //arrs[1] = BarDay.arr5; //arrs[2] = BarDay.arr15; //arrs[3] = BarDay.arr390; }
static void Main(string[] args) { string btd = Environment.GetEnvironmentVariable("BackTestDir"); btd = @"e:\"; int buildArgs = 1; if (buildArgs == 1) { string[] strings = File.ReadAllLines(@"c:\users\scott\Downloads\er_nyse.csv"); string[] strings1 = File.ReadAllLines(@"c:\users\scott\Downloads\er_nsdq.csv"); List <string> allStrings = new List <string>(strings); allStrings.AddRange(strings1); strings = allStrings.ToArray(); //strings = (from st in strings where st.Split(',').Count() > 1 select $"{st.Split(',')[0]},{st.Split(',')[1].Split(' ')[0]}").ToArray(); string[][] tokArray = (from st in strings select st.Split(',')).ToArray(); tokArray = (from t in tokArray where t.Length == 8 select t).ToArray(); tokArray = tokArray.Skip(1).ToArray(); tokArray = (from t in tokArray where t[3] == "B" select t).ToArray(); var groups = tokArray.GroupBy(k => k[2].Split(' ')[0]); //string[] allDays = Directory.GetFiles($@"{btd}daysbydate"); //allDays = (from d in allDays select d.Split('.')[0].Split('\\').Last()).ToArray(); //allDays = (from d in allDays select $"{d.Substring(4, 2)}/{d.Substring(6, 2)}/{d.Substring(0, 4)}").ToArray(); //Array.Sort(allDays); foreach (var g in groups) { string date = g.Key; date = date.Split(' ')[0]; string[] dateToks = date.Split('/'); date = $@"{ Int32.Parse(dateToks[0]).ToString("00")}/{Int32.Parse(dateToks[1]).ToString("00")}/{Int32.Parse(dateToks[2]).ToString("0000")}"; string[][] toka = g.ToArray(); string[] symbols = (from tok in toka select tok[1]).ToArray(); Array.Sort(symbols); BarDay.BuildEarningsBin(date, symbols); //string tdate = $"{date.Split('/')[2]}{date.Split('/')[0]}{date.Split('/')[1]}"; //int index = Array.BinarySearch(allDays, tdate); string prevDate = Utility.GetTradingDay(date, 1); if (prevDate != null) { //string d = allDays[index + 1]; BarDay.BuildEarningsBin(prevDate, symbols, "nd", date); } else { Console.WriteLine("next day not found"); } } //BarDay.BuildEarningsBin("01/26/2016", new string[] { "AAPL", "SCHW" }); return; } //byte[] b = File.ReadAllBytes(@"c:\src\data\1.bin"); //DLChecker(@"f:\dl2"); //return; //foreach (string symfn in Directory.GetFiles(@"f:\dl2\")) //{ // string sym = symfn.Split('\\').Last(); // sym = sym.Substring(0, sym.Length - 4); // BarDay.BreakFileIntoMonths(sym); //} //return; //BarDay.BreakFileIntoMonths("IMNP"); BarDay.BuildMonthBin2(args[0]); return; foreach (string dir in Directory.GetDirectories($@"{btd}rawdata\2016")) { BarDay.BuildMonthBin(dir); } ushort s = dtoi(658.99); //BarDay.BuildAllBins(); for (int i = 2016; i < 2017; i++) { BarDay.BuildConsolidatedBarsyy($@"c:\src\data\{i}.bin", $@"c:\src\data\{i}.sym", $@"c:\src\data\{i}.dates", 5); BarDay.BuildConsolidatedBarsyy($@"c:\src\data\{i}.bin", $@"c:\src\data\{i}.sym", $@"c:\src\data\{i}.dates", 15); BarDay.BuildConsolidatedBarsyy($@"c:\src\data\{i}.bin", $@"c:\src\data\{i}.sym", $@"c:\src\data\{i}.dates", 390); BarDay.validateBinConsolidatedFile($@"c:\src\data\{i}.bin5", $@"c:\src\data\{i}.sym", $@"c:\src\data\{i}.dates", 5); BarDay.validateBinConsolidatedFile($@"c:\src\data\{i}.bin15", $@"c:\src\data\{i}.sym", $@"c:\src\data\{i}.dates", 15); BarDay.validateBinConsolidatedFile($@"c:\src\data\{i}.bin390", $@"c:\src\data\{i}.sym", $@"c:\src\data\{i}.dates", 390); } return; //BarDay.validateBinFile(@"c:\src\data\1998.bin", @"c:\src\data\1998.sym",@"c:\src\data\1998.dates"); BarDay.BuildConsolidatedBars(@"c:\src\data\1998.bin", @"c:\src\data\1998.sym", @"c:\src\data\1998.dates", 5); BarDay.validateBinConsolidatedFile(@"c:\src\data\1998.bin5", @"c:\src\data\1998.sym", @"c:\src\data\1998.dates", 5); BarDay.BuildConsolidatedBars(@"c:\src\data\1998.bin", @"c:\src\data\1998.sym", @"c:\src\data\1998.dates", 15); BarDay.validateBinConsolidatedFile(@"c:\src\data\1998.bin15", @"c:\src\data\1998.sym", @"c:\src\data\1998.dates", 15); BarDay.BuildConsolidatedBars(@"c:\src\data\1998.bin", @"c:\src\data\1998.sym", @"c:\src\data\1998.dates", 390); BarDay.validateBinConsolidatedFile(@"c:\src\data\1998.bin390", @"c:\src\data\1998.sym", @"c:\src\data\1998.dates", 390); }
static void Main(string[] args) { HttpListener list = new HttpListener(); string url = $"http://*****:*****@"c:\src\MyTest\Mytest\bin\debug\mytest.dll"); Type ty = null; try { a = GetAssembly(); ty = a.GetType("MyTest.MyTest"); } catch (Exception e) { continue; } StreamWriter sw = new StreamWriter(ctx.Response.OutputStream); Test.messages.Clear(); Test.testResults.Clear(); Test.results.Clear(); foreach (string date in dictionary.Keys) { TestDay td = dictionary[date]; BarDay.symbols = td.symbols; arrs[0] = td.arr; string testdate = date; Test t = (Test)Activator.CreateInstance(ty);// null; //new MyTest(); BarDay.arr = td.arr; if (t.testNextDay) { testdate = Utility.GetTradingDay(date, 1); BarDay.arr = td.ndArr; } BarDay.dates = new string[] { testdate }; //ILookup<DateTime, IBarDay> bdl = bdlist.ToLookup(k => DateTime.Parse("01/02/1998")); //t.Container = new TestContainer(); //Test.type = typeof(MyTest); //Test.type = typeof(Test); Test.type = ty; //System.Diagnostics.Stopwatch sw = System.Diagnostics.Stopwatch.StartNew(); Console.WriteLine($"running {date} {i}"); sw.WriteLine($"Testing version {t.GetVerion()}"); BarDay.bdinit(); Dictionary <string, Dictionary <string, IDayCandle> > prev = new Dictionary <string, Dictionary <string, IDayCandle> >(); prev[testdate] = td.prevDay; Dictionary <string, Dictionary <string, IDayCandle> > today = new Dictionary <string, Dictionary <string, IDayCandle> >(); today[testdate] = td.toDay; t.run(td.bdlist.ToArray(), BarDay.symbols, BarDay.dates, arrs, prev, today); //Test.results.Clear(); } string d = "nodate"; foreach (string s in Test.messages) { //Console.WriteLine(s); sw.WriteLine($"Message^{d}^{s}"); } foreach (string s in Test.results) { //Console.WriteLine(s); sw.WriteLine($"results^{d}^{s}"); } foreach (TestResult s in Test.testResults) { //Console.WriteLine(s.ToString()); sw.WriteLine($"testResults^{d}^{s}"); } string dir = ctx.Request.Url.AbsolutePath; //StreamWriter sw = new StreamWriter(ctx.Response.OutputStream); sw.Write(dir); sw.Flush(); ctx.Response.Close(); } }