From 67ad17177c3f515c6b95153707f2a38702f46987 Mon Sep 17 00:00:00 2001 From: Matias Date: Wed, 27 Mar 2019 10:37:27 +0100 Subject: [PATCH 1/5] Changing default daily files data dependency config --- AABrowserAPI/CopySimulator.js | 32 +++++++++----------------------- AABrowserAPI/TeamSetup.js | 13 +++++++++++++ 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/AABrowserAPI/CopySimulator.js b/AABrowserAPI/CopySimulator.js index 29097c067..1d45d1307 100644 --- a/AABrowserAPI/CopySimulator.js +++ b/AABrowserAPI/CopySimulator.js @@ -1,13 +1,4 @@ - -// let financialBeingsCopy = newFinancialBeingClone() - -// const simulatorTemplatePath = "aaplatform/AATemplate/bots/AAJason-Indicator-Bot1"; -// const blobName = "this.bot.config.json"; - -// financialBeingsCopy.copySimulator("team-a", "team a", "matias", "bot-a", "bot a") -// async function copySimulator(pTeamCodeName, pTeamDisplayName, pUserName, pBotCodeName, pBotDisplayName, pUserId) { - -const { +const { Aborter, BlobURL, BlockBlobURL, @@ -77,8 +68,8 @@ exports.newCopySimulator = function newCopySimulator() { if (parsedConfig.processes[0].statusDependencies[i].devTeam === "AAMasters" && parsedConfig.processes[0].statusDependencies[i].bot === "AAJason") { - parsedConfig.processes[0].statusDependencies[i].devTeam = parsedConfig.devTeam; - parsedConfig.processes[0].statusDependencies[i].bot = parsedConfig.codeName; + parsedConfig.processes[0].statusDependencies[i].devTeam = parsedConfig.devTeam; + parsedConfig.processes[0].statusDependencies[i].bot = parsedConfig.codeName; } } @@ -87,8 +78,8 @@ exports.newCopySimulator = function newCopySimulator() { if (parsedConfig.processes[1].statusDependencies[i].devTeam === "AAMasters" && parsedConfig.processes[1].statusDependencies[i].bot === "AAJason") { - parsedConfig.processes[1].statusDependencies[i].devTeam = parsedConfig.devTeam; - parsedConfig.processes[1].statusDependencies[i].bot = parsedConfig.codeName; + parsedConfig.processes[1].statusDependencies[i].devTeam = parsedConfig.devTeam; + parsedConfig.processes[1].statusDependencies[i].bot = parsedConfig.codeName; } } @@ -104,8 +95,8 @@ exports.newCopySimulator = function newCopySimulator() { parsedConfig.products[1].dataSets[1].dataRange.filePath = pTeamCodeName + "/" + parsedConfig.codeName + ".1.0/AACloud.1.1/@Exchange/dataSet.V1/Output/Simulation-Conditions/Multi-Period-Daily" // Write the new files - let newSimulatorName = "simulator-"+ pBotCodeName + "-Indicator-Bot" - let newSimulatorPath = "aaplatform/"+ pTeamCodeName + "/bots/" + newSimulatorName + let newSimulatorName = "simulator-" + pBotCodeName + "-Indicator-Bot" + let newSimulatorPath = "aaplatform/" + pTeamCodeName + "/bots/" + newSimulatorName await writeFileContent(newSimulatorPath, "Commons.js", commons) await writeFileContent(newSimulatorPath, "this.bot.config.json", beautify(parsedConfig, null, 2, 80)) await writeFileContent(newSimulatorPath + "/Multi-Period-Daily", "User.Bot.js", codeDaily) @@ -125,7 +116,7 @@ exports.newCopySimulator = function newCopySimulator() { // Delete simulator code let newSimulatorName = "simulator-" + pBotCodeName + "-Indicator-Bot" - let newSimulatorPath = "aaplatform/"+ pTeamCodeName + "/bots/" + newSimulatorName + let newSimulatorPath = "aaplatform/" + pTeamCodeName + "/bots/" + newSimulatorName await deleteBlob(newSimulatorPath, "Commons.js") await deleteBlob(newSimulatorPath, "this.bot.config.json") await deleteBlob(newSimulatorPath + "/Multi-Period-Daily", "User.Bot.js") @@ -158,7 +149,7 @@ exports.newCopySimulator = function newCopySimulator() { } async function deleteBlob(containerName, blobName) { - try{ + try { const containerURL = ContainerURL.fromServiceURL(serviceURL, containerName) const blockBlobURL = BlockBlobURL.fromContainerURL(containerURL, blobName) await blockBlobURL.delete(Aborter.none) @@ -167,11 +158,6 @@ exports.newCopySimulator = function newCopySimulator() { } } - async function deleteContainer(containerName) { - const containerURL = ContainerURL.fromServiceURL(serviceURL, containerName) - let containerRemoveResponse = await containerURL.delete(Aborter.none) - } - // A helper method used to read a Node.js readable stream into string async function streamToString(readableStream) { return new Promise((resolve, reject) => { diff --git a/AABrowserAPI/TeamSetup.js b/AABrowserAPI/TeamSetup.js index c13b035b3..b0e57c176 100644 --- a/AABrowserAPI/TeamSetup.js +++ b/AABrowserAPI/TeamSetup.js @@ -214,6 +214,7 @@ } } + // Market Files for (let i = 0; i < botConfig.processes[0].dataDependencies.length; i++) { // Add a copy of the simulator indicator in the configuration @@ -225,6 +226,18 @@ } } + // Daily Files + for (let i = 0; i < botConfig.processes[1].dataDependencies.length; i++) { + + // Add a copy of the simulator indicator in the configuration + if ( botConfig.processes[1].dataDependencies[i].devTeam === "AAMasters" && + botConfig.processes[1].dataDependencies[i].bot === "AAJason" ) { + + botConfig.processes[1].dataDependencies[i].devTeam = pTeamCodeName; + botConfig.processes[1].dataDependencies[i].bot = "simulator-" + pBotCodeName; + } + } + botConfig.displayName = pBotDisplayName; botConfig.codeName = pBotCodeName; botConfig.devTeam = pTeamCodeName; From 064dbfb52f78b272e5d29f270725ea31ecb6621e Mon Sep 17 00:00:00 2001 From: Matias Date: Wed, 27 Mar 2019 13:13:49 +0100 Subject: [PATCH 2/5] Adding data dependencies to the simulator --- AABrowserAPI/CopySimulator.js | 73 +++++++++++++++++++++++++---------- AABrowserAPI/TeamSetup.js | 1 - 2 files changed, 53 insertions(+), 21 deletions(-) diff --git a/AABrowserAPI/CopySimulator.js b/AABrowserAPI/CopySimulator.js index 1d45d1307..c9d06c6ca 100644 --- a/AABrowserAPI/CopySimulator.js +++ b/AABrowserAPI/CopySimulator.js @@ -57,31 +57,64 @@ exports.newCopySimulator = function newCopySimulator() { let codeMarket = await getFileContent(templatePath + "/Multi-Period-Market", "User.Bot.js") // Change config to adapt the new indicator + let botCodeName = "simulator-" + pBotCodeName let parsedConfig = JSON.parse(config) - parsedConfig.displayName = "Simulator " + pBotDisplayName; - parsedConfig.codeName = "simulator-" + pBotCodeName; - parsedConfig.devTeam = pTeamCodeName; - parsedConfig.profilePicture = pBotCodeName + ".png"; + parsedConfig.displayName = "Simulator " + pBotDisplayName + parsedConfig.codeName = botCodeName + parsedConfig.devTeam = pTeamCodeName + parsedConfig.profilePicture = pBotCodeName + ".png" - for (let i = 0; i < parsedConfig.processes[0].statusDependencies.length; i++) { - - if (parsedConfig.processes[0].statusDependencies[i].devTeam === "AAMasters" && - parsedConfig.processes[0].statusDependencies[i].bot === "AAJason") { - - parsedConfig.processes[0].statusDependencies[i].devTeam = parsedConfig.devTeam; - parsedConfig.processes[0].statusDependencies[i].bot = parsedConfig.codeName; - } + let statusDependencyMarket = { + devTeam: pTeamCodeName, + bot: botCodeName, + botVersion: { + "major": 1, + "minor": 0 + }, + process: "Multi-Period-Market", + dataSetVersion: "dataSet.V1", + type: "Indicator" } + parsedConfig.processes[0].statusDependencies.push(statusDependencyMarket) - for (let i = 0; i < parsedConfig.processes[1].statusDependencies.length; i++) { - - if (parsedConfig.processes[1].statusDependencies[i].devTeam === "AAMasters" && - parsedConfig.processes[1].statusDependencies[i].bot === "AAJason") { - - parsedConfig.processes[1].statusDependencies[i].devTeam = parsedConfig.devTeam; - parsedConfig.processes[1].statusDependencies[i].bot = parsedConfig.codeName; - } + let statusDependencyDaily = { + devTeam: pTeamCodeName, + bot: botCodeName, + botVersion: { + "major": 1, + "minor": 0 + }, + process: "Multi-Period-Daily", + dataSetVersion: "dataSet.V1", + type: "Indicator" } + parsedConfig.processes[0].statusDependencies.push(statusDependencyDaily) + + let dataDependencyMarket = { + devTeam: pTeamCodeName, + bot: botCodeName, + botVersion: { + "major": 1, + "minor": 0 + }, + process: "Trading-Simulation", + dataSetVersion: "dataSet.V1", + dataSet: "Multi-Period-Market" + } + parsedConfig.processes[0].dataDependencies.push(dataDependencyMarket) + + let dataDependencyDaily = { + devTeam: pTeamCodeName, + bot: botCodeName, + botVersion: { + "major": 1, + "minor": 0 + }, + process: "Trading-Simulation", + dataSetVersion: "dataSet.V1", + dataSet: "Multi-Period-Daily" + } + parsedConfig.processes[0].dataDependencies.push(dataDependencyDaily) //Changing Indicator Output parsedConfig.products[0].storageAccount = pTeamCodeName diff --git a/AABrowserAPI/TeamSetup.js b/AABrowserAPI/TeamSetup.js index b0e57c176..fde2170d9 100644 --- a/AABrowserAPI/TeamSetup.js +++ b/AABrowserAPI/TeamSetup.js @@ -226,7 +226,6 @@ } } - // Daily Files for (let i = 0; i < botConfig.processes[1].dataDependencies.length; i++) { // Add a copy of the simulator indicator in the configuration From d32ddce03bba3f061c5fa8a7517c82badede38b0 Mon Sep 17 00:00:00 2001 From: Matias Date: Wed, 27 Mar 2019 13:32:46 +0100 Subject: [PATCH 3/5] Fixing dependencies copy --- AABrowserAPI/CopySimulator.js | 34 ++-------------- AABrowserAPI/TeamSetup.js | 77 +++++++++++++++++++++++------------ 2 files changed, 53 insertions(+), 58 deletions(-) diff --git a/AABrowserAPI/CopySimulator.js b/AABrowserAPI/CopySimulator.js index c9d06c6ca..6479cf136 100644 --- a/AABrowserAPI/CopySimulator.js +++ b/AABrowserAPI/CopySimulator.js @@ -72,8 +72,7 @@ exports.newCopySimulator = function newCopySimulator() { "minor": 0 }, process: "Multi-Period-Market", - dataSetVersion: "dataSet.V1", - type: "Indicator" + dataSetVersion: "dataSet.V1" } parsedConfig.processes[0].statusDependencies.push(statusDependencyMarket) @@ -85,36 +84,9 @@ exports.newCopySimulator = function newCopySimulator() { "minor": 0 }, process: "Multi-Period-Daily", - dataSetVersion: "dataSet.V1", - type: "Indicator" + dataSetVersion: "dataSet.V1" } - parsedConfig.processes[0].statusDependencies.push(statusDependencyDaily) - - let dataDependencyMarket = { - devTeam: pTeamCodeName, - bot: botCodeName, - botVersion: { - "major": 1, - "minor": 0 - }, - process: "Trading-Simulation", - dataSetVersion: "dataSet.V1", - dataSet: "Multi-Period-Market" - } - parsedConfig.processes[0].dataDependencies.push(dataDependencyMarket) - - let dataDependencyDaily = { - devTeam: pTeamCodeName, - bot: botCodeName, - botVersion: { - "major": 1, - "minor": 0 - }, - process: "Trading-Simulation", - dataSetVersion: "dataSet.V1", - dataSet: "Multi-Period-Daily" - } - parsedConfig.processes[0].dataDependencies.push(dataDependencyDaily) + parsedConfig.processes[1].statusDependencies.push(statusDependencyDaily) //Changing Indicator Output parsedConfig.products[0].storageAccount = pTeamCodeName diff --git a/AABrowserAPI/TeamSetup.js b/AABrowserAPI/TeamSetup.js index fde2170d9..cc88a5814 100644 --- a/AABrowserAPI/TeamSetup.js +++ b/AABrowserAPI/TeamSetup.js @@ -204,38 +204,61 @@ botConfig.processes[0].statusDependencies[i].devTeam = pTeamCodeName; botConfig.processes[0].statusDependencies[i].bot = pBotCodeName; } - - // Add a copy of the simulator indicator in the configuration - if ( botConfig.processes[0].statusDependencies[i].devTeam === "AAMasters" && - botConfig.processes[0].statusDependencies[i].bot === "AAJason" ) { - - botConfig.processes[0].statusDependencies[i].devTeam = pTeamCodeName; - botConfig.processes[0].statusDependencies[i].bot = "simulator-" + pBotCodeName; - } } - // Market Files - for (let i = 0; i < botConfig.processes[0].dataDependencies.length; i++) { - - // Add a copy of the simulator indicator in the configuration - if ( botConfig.processes[0].dataDependencies[i].devTeam === "AAMasters" && - botConfig.processes[0].dataDependencies[i].bot === "AAJason" ) { - - botConfig.processes[0].dataDependencies[i].devTeam = pTeamCodeName; - botConfig.processes[0].dataDependencies[i].bot = "simulator-" + pBotCodeName; - } + // Add simulator dependency + let statusDependencyMarket = { + devTeam: pTeamCodeName, + bot: botCodeName, + botVersion: { + "major": 1, + "minor": 0 + }, + process: "Multi-Period-Market", + dataSetVersion: "dataSet.V1", + type: "Indicator" } + botConfig.processes[0].statusDependencies.push(statusDependencyMarket) - for (let i = 0; i < botConfig.processes[1].dataDependencies.length; i++) { - - // Add a copy of the simulator indicator in the configuration - if ( botConfig.processes[1].dataDependencies[i].devTeam === "AAMasters" && - botConfig.processes[1].dataDependencies[i].bot === "AAJason" ) { - - botConfig.processes[1].dataDependencies[i].devTeam = pTeamCodeName; - botConfig.processes[1].dataDependencies[i].bot = "simulator-" + pBotCodeName; - } + let statusDependencyDaily = { + devTeam: pTeamCodeName, + bot: botCodeName, + botVersion: { + "major": 1, + "minor": 0 + }, + process: "Multi-Period-Daily", + dataSetVersion: "dataSet.V1", + type: "Indicator" } + botConfig.processes[0].statusDependencies.push(statusDependencyDaily) + + let simulatorBotCodeName = "simulator-" + pBotCodeName + let dataDependencyMarket = { + devTeam: pTeamCodeName, + bot: simulatorBotCodeName, + botVersion: { + "major": 1, + "minor": 0 + }, + process: "Trading-Simulation", + dataSetVersion: "dataSet.V1", + dataSet: "Multi-Period-Market" + } + botConfig.processes[0].dataDependencies.push(dataDependencyMarket) + + let dataDependencyDaily = { + devTeam: pTeamCodeName, + bot: simulatorBotCodeName, + botVersion: { + "major": 1, + "minor": 0 + }, + process: "Trading-Simulation", + dataSetVersion: "dataSet.V1", + dataSet: "Multi-Period-Daily" + } + botConfig.processes[0].dataDependencies.push(dataDependencyDaily) botConfig.displayName = pBotDisplayName; botConfig.codeName = pBotCodeName; From bb0e37ac6e056ddfac3e6e662d8b0a6420cfe748 Mon Sep 17 00:00:00 2001 From: Matias Date: Wed, 27 Mar 2019 13:36:46 +0100 Subject: [PATCH 4/5] Fixing bot name --- AABrowserAPI/TeamSetup.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/AABrowserAPI/TeamSetup.js b/AABrowserAPI/TeamSetup.js index cc88a5814..1dcbb0712 100644 --- a/AABrowserAPI/TeamSetup.js +++ b/AABrowserAPI/TeamSetup.js @@ -207,9 +207,11 @@ } // Add simulator dependency + let simulatorBotCodeName = "simulator-" + pBotCodeName + let statusDependencyMarket = { devTeam: pTeamCodeName, - bot: botCodeName, + bot: simulatorBotCodeName, botVersion: { "major": 1, "minor": 0 @@ -222,7 +224,7 @@ let statusDependencyDaily = { devTeam: pTeamCodeName, - bot: botCodeName, + bot: simulatorBotCodeName, botVersion: { "major": 1, "minor": 0 @@ -233,7 +235,6 @@ } botConfig.processes[0].statusDependencies.push(statusDependencyDaily) - let simulatorBotCodeName = "simulator-" + pBotCodeName let dataDependencyMarket = { devTeam: pTeamCodeName, bot: simulatorBotCodeName, From 8f799dc4cb266e519a3906e13c57053a6086602a Mon Sep 17 00:00:00 2001 From: Matias Date: Wed, 27 Mar 2019 14:23:43 +0100 Subject: [PATCH 5/5] Fixing data dependency type --- AABrowserAPI/TeamSetup.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AABrowserAPI/TeamSetup.js b/AABrowserAPI/TeamSetup.js index 1dcbb0712..5fcd5485b 100644 --- a/AABrowserAPI/TeamSetup.js +++ b/AABrowserAPI/TeamSetup.js @@ -242,7 +242,7 @@ "major": 1, "minor": 0 }, - process: "Trading-Simulation", + product: "Trading-Simulation", dataSetVersion: "dataSet.V1", dataSet: "Multi-Period-Market" } @@ -255,7 +255,7 @@ "major": 1, "minor": 0 }, - process: "Trading-Simulation", + product: "Trading-Simulation", dataSetVersion: "dataSet.V1", dataSet: "Multi-Period-Daily" }