量化交易现货合约跟单对冲系统开发详细案例/方案设计/功能说明/源码部署

简介:   算法交易的主要类型有:(1)被动型算法交易,也称结构型算法交易。该交易算法除利用历史数据估计交易模型的关键参数外,不会根据市场的状况主动选择交易时机和交易的数量,而是按照一个既定的交易方针进行交易。该策略的的核心是减少滑价(目标价与实际成交均价的差)。被动型算法交易最成熟,使用也最为广泛,如在国际市场上使用最多的成交加权平均价格(VWAP)、时间加权平均价格(TWAP)等都属于被动型算法交易。

  算法交易的主要类型有:(1)被动型算法交易,也称结构型算法交易。该交易算法除利用历史数据估计交易模型的关键参数外,不会根据市场的状况主动选择交易时机和交易的数量,而是按照一个既定的交易方针进行交易。该策略的的核心是减少滑价(目标价与实际成交均价的差)。被动型算法交易最成熟,使用也最为广泛,如在国际市场上使用最多的成交加权平均价格(VWAP)、时间加权平均价格(TWAP)等都属于被动型算法交易。

(2)主动型算法交易,也称机会型算法交易。这类交易算法根据市场的状况作出实时的决策,判断是否交易、交易的数量、交易的价格等。主动型交易算法除了努力减少滑价以外,把关注的重点逐渐转向了价格趋势预测上。

(3)综合型算法交易,该交易是前两者的结合。这类算法常见的方式是先把交易指令拆开,分布到若干个时间段内,每个时间段内具体如何交易由主动型交易算法进行判断。两者结合可达到单纯一种算法无法达到的效果。

int main(int argc, const char* argv[]) {

if (argc < 4) {

    DLOG(INFO) << "Usage: ./quantized.out src.mnn dst.mnn preTreatConfig.json\n";

    return 0;

}

const char* modelFile      = argv[1];

const char* preTreatConfig = argv[3];

const char* dstFile        = argv[2];

DLOG(INFO) << ">>> modelFile: " << modelFile;

DLOG(INFO) << ">>> preTreatConfig: " << preTreatConfig;

DLOG(INFO) << ">>> dstFile: " << dstFile;

// 加载待量化的模型

std::unique_ptr<MNN::NetT> netT;

{

    std::ifstream input(modelFile);

    std::ostringstream outputOs;

    outputOs << input.rdbuf();

    netT = MNN::UnPackNet(outputOs.str().c_str());

}



// temp build net for inference

flatbuffers::FlatBufferBuilder builder(1024);

auto offset = MNN::Net::Pack(builder, netT.get());

builder.Finish(offset);

int size      = builder.GetSize();

auto ocontent = builder.GetBufferPointer();



// model buffer for creating mnn Interpreter

std::unique_ptr<uint8_t> modelForInference(new uint8_t[size]);

memcpy(modelForInference.get(), ocontent, size);



std::unique_ptr<uint8_t> modelOriginal(new uint8_t[size]);

memcpy(modelOriginal.get(), ocontent, size);



netT.reset();

netT = MNN::UnPackNet(modelOriginal.get());



// quantize model's weight

DLOG(INFO) << "Calibrate the feature and quantize model...";

// 构建Calibration对象,负责量化

std::shared_ptr<Calibration> calibration(

    new Calibration(netT.get(), modelForInference.get(), size, preTreatConfig));

// 执行量化,更新参数为int8

calibration->runQuantizeModel();

// 将量化的参数写入json文件

calibration->dumpTensorScales(dstFile);

DLOG(INFO) << "Quantize model done!";

// 保存量化后的模型

flatbuffers::FlatBufferBuilder builderOutput(1024);

builderOutput.ForceDefaults(true);

auto len = MNN::Net::Pack(builderOutput, netT.get());

builderOutput.Finish(len);



{

    std::ofstream output(dstFile);

    output.write((const char*)builderOutput.GetBufferPointer(), builderOutput.GetSize());

}

return 0;

}

相关文章
|
7月前
|
存储 分布式计算 安全
量化合约跟单对冲交易系统开发技术搭建
区块链技术很好地诠释了金融交易和信息传输中的安全原则是如何转变的
|
3月前
|
存储 监控 前端开发
现货合约量化交易系统开发技术规则
现货合约量化交易系统的开发是综合性工程,涵盖目标确定、市场调研、功能规划等前期准备;选择编程语言和技术栈;设计系统架构;开发策略管理、资金管理、交易执行、数据分析及用户界面模块;进行单元、集成、压力测试及优化;最后选择服务器部署并持续监控。
|
5月前
|
机器学习/深度学习 监控 安全
现货量化合约跟单/交易所系统开发成熟技术/案例搭建/玩法详情/步骤指南
现货量化合约跟单系统开发是指构建一个系统,通过使用量化交易策略,实现将现货市场的交易信号自动化地应用到交易合约中,以进行自动化的跟单交易。 以下是现货量化合约跟单系统开发的关键概述:
|
区块链 存储 数据库
量化合约跟单系统开发源码部署|量化交易系统开发(成熟案例)
在去中心化架构下,没有中心化机构的垄断,每个节点都是独立的
|
存储 安全 区块链
量化合约现货跟单交易所系统开发|源码案例|部署
在Web 3.0世界里,所有权及掌控权均是去中心化
|
分布式数据库 区块链 数据安全/隐私保护
现货合约跟单量化交易系统开发详情模式|案例
区块链技术和智能合约是数字经济发展的两个重要因素,是互相协同和依存的。
|
区块链 供应链 安全
现货合约跟单交易所系统开发(成熟源码)|秒合约系统搭建案例
智能合约和去中心化应用的发展一直在逐步推进
|
算法 机器人 API
量化交易机器人丨现货量化合约跟单系统开发(对接API火币/币安/OK/其他交易所)案例项目/方案设计/源码部署
量化的关键在于策略家预先建立的策略信号。比如有人用macd金叉作为进场信号,其实就是简单的量化;macd处理了一些基本的K线数据,然后画出来,就是量化,After processing the data with the golden cross structure on the chart,you choose to enter the market,which is quantitative trading.量化交易不是高频交易,每个指标其实都是一种量化,每个量化交易者都在创造一个新的指标;通过你理解的算法组合数据,用电脑计算,形成自己的交易系统,这就是真正的量化交易。
|
存储 NoSQL 区块链
量化现货合约跟单交易软件系统开发(成熟技术)源码部署
我们需要一个全新的概念来定义业已带来的区块链时代,我们需要一个全新的名词来诠释业已到来的区块链时代
|
存储 网络协议 应用服务中间件
量化交易合约跟单系统开发|量化交易系统开发源码
区链智能合约目前还在发展初期,存在诸多问题