#pragma once
#include <spdlog/spdlog.h>
#include <spdlog/sinks/basic_file_sink.h>
#include <iostream>
#include <string>
#include <memory>
#include <map>
using namespace std;
class ConfigMakerCore
{
public:
ConfigMakerCore() = delete;
ConfigMakerCore(string marketDepthDataConfigPath);
virtual ~ConfigMakerCore();
public:
void Parser();
void DumpMainContractsJson();
private:
bool Check();
bool InitSourceTradingTimeMap();
bool IsInDaySession(const std::string& time, const std::vector<std::string>& timeRange);
bool IsInNightSession(const std::string& time, const std::vector<std::string>& timeRange);
bool IsTradingTime(const string& exchangeInstru, const std::string& time);
string GetExchangeInstru(const string& exchangeInstrument);
string GetMainContractsDailyPath();
private:
shared_ptr<string> m_marketDepthDataConfigPath;
shared_ptr<string> m_marketDepthDataCSVPath;
shared_ptr<string> m_sourceTradingTimeConfigPath;
shared_ptr<spdlog::logger> m_coreLogger;
shared_ptr<string> m_csvName;
map<string, map<string, vector<vector<string>>>> m_sourceTradingTimeMap;
map<string, map<string, string>> m_mainContractsMap;
};
量化交易之One Piece篇 - 生成主力合约文件(.h文件)
于 2024-05-05 12:38:58 首次发布