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

简介:   算法交易的主要类型有:(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世界里,所有权及掌控权均是去中心化
|
7月前
|
供应链 区块链
合约交易|量化交易对冲系统开发|指南方案
智能合约是一种通过计算机程序实现自动执行合约的协议。
|
7月前
|
人工智能 搜索推荐 大数据
秒合约跟单系统开发源码|现货期权交易系统案例
Web 3.0的时代,我们将看到一个完全去中心化的互联网环境,这将彻底改变互联网的面貌。
|
存储 安全 区块链
现货期权合约系统开发(成熟案例)|现货期权合约系统开发方案
在Web3.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.量化交易不是高频交易,每个指标其实都是一种量化,每个量化交易者都在创造一个新的指标;通过你理解的算法组合数据,用电脑计算,形成自己的交易系统,这就是真正的量化交易。
|
区块链 供应链 安全
现货合约跟单交易所系统开发(成熟源码)|秒合约系统搭建案例
智能合约和去中心化应用的发展一直在逐步推进