Ejemplo n.º 1
0
 private static ThreeMarketsDataProviderModel[] Join(ThreeMarketsDatasetModel model)
 => model.Coin12CoinKlines.AsParallel()
 .Join(model.Coin22CoinKlines.AsParallel(), B2AKline => B2AKline.Date, C2AKline => C2AKline.Date, (B2AKline, C2AKline) => new { B2AKline, C2AKline })
 .Join(model.Coin22Coin1Klines.AsParallel(), item => item.B2AKline.Date, C2BKline => C2BKline.Date, (item, C2BKline) => new ThreeMarketsDataProviderModel {
     Coin12CoinKline = item.B2AKline, Coin22CoinKline = item.C2AKline, Coin22Coin1Kline = C2BKline
 })
 .OrderBy(item => item.Coin12CoinKline.Date).ToArray();
Ejemplo n.º 2
0
        public async Task TestLoadDataAsync()
        {
            ThreeMarketsDatasetModel dataset = await ThreeMarketsDataLoader.LoadCsvDataAsync(Utils.btc_usdtPath, Utils.eth_usdtPath, Utils.eth_btcPath);

            Assert.AreEqual("BTCUSDT-Spot", dataset.Coin12CoinKlines[0].StockCode);
            Assert.AreEqual(309559, dataset.Coin12CoinKlines.Length);
            Assert.AreEqual("ETHUSDT-Spot", dataset.Coin22CoinKlines[0].StockCode);
            Assert.AreEqual(309559, dataset.Coin22CoinKlines.Length);
            Assert.AreEqual("ETHBTC-Spot", dataset.Coin22Coin1Klines[0].StockCode);
            Assert.AreEqual(309559, dataset.Coin22Coin1Klines.Length);
        }
Ejemplo n.º 3
0
        static async Task Main(string[] args)
        {
            int[] observationTimes           = new int[] { 3, 5, 15, 30, 60, 120, 240, 360, 480, 720, 1440, 4320, 10080, 20160, 30240, 40320 };
            int[] tradingIntervals           = new int[] { 1, 3, 5, 15, 30, 60, 120, 240, 360, 480, 720, 1440 };
            ThreeMarketsDatasetModel dataset = await ThreeMarketsDataLoader.LoadCsvDataAsync(Path.Combine(datasetPath, "BTCUSDT-Spot.csv"), Path.Combine(datasetPath, "ETHUSDT-Spot.csv"), Path.Combine(datasetPath, "ETHBTC-Spot.csv"));

            ThreeMarketsDataProvider dataProvider      = new(dataset);
            EnvironmentParams        environmentParams = new(20000, 10000, 0.1m, 3);

            await RunAllParams.RunCloseChangeAllParams(dataProvider, environmentParams, observationTimes, tradingIntervals, savePath);
        }
Ejemplo n.º 4
0
 public ThreeMarketsDataProvider(ThreeMarketsDatasetModel model)
 => models = Join(model);