商品期货套利 - 多品种网格对冲模型 注释版

2024-02-18 16:18

本文主要是介绍商品期货套利 - 多品种网格对冲模型 注释版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

商品期货套利 - 多品种网格对冲模型 注释版

  • #### 代码:
// 商品期货套利 - 多品种网格对冲模型 注释版
function Hedge(q, e, positions, symbolA, symbolB, hedgeSpread) { // 对冲对象 生成函数, 参数q 为最开始调用 商品期货交易类库模板 的 导出函数 生成的 交易队列控制对象, 参数e 为交易所对象,positions 为初始仓位// symbolA 为第一个合约类型,  symbolB 为第二个合约类型, hedgeSpread 为对冲 交易量控制表 字符串。var self = {}                                                // 声明一个 空对象 用于给空对象 初始化 后返回 (即对冲对象)self.q = q                                                   // 给对冲对象 添加 属性 q ,并用参数的q 初始赋值。self.symbolA = symbolA                                       // 给对冲对象self 添加属性 symbolA ,储存 第一个合约类型self.symbolB = symbolB                                       // ...self.name = symbolA + " & " + symbolB                        // 对冲对象的 名称 即对冲组合self.e = e                                                   // 对冲对象 中储存交易所对象 的引用 self.isBusy = false                                          // 繁忙 标记 初始为 不繁忙。self.diffA = 0                                               // 差价A ,  即 symbolA买一 - symbolB卖一 self.diffB = 0                                               // 差价B ,  即 symbolB卖一 - symbolA买一self.update = _D()                                           // 记录 更新时间var arr = hedgeSpread.split(';')                             // 把传入的  交易量控制表 字符串 按照 ';' 字符 分割。self.dic = []                                                // 网格节点 对象 数组var n = 0                                                    // var coefficient = 1                                          // 系数 初始1for (var i = 0; i < positions.length; i++) {                 // 遍历持仓信息。if (positions[i].ContractType == symbolA) {              // 如果遍历当前的 持仓信息 的合约类型 和 当前对冲对象的 第一个合约类型 相同n += positions[i].Amount                             // 累计 类型为 symbolA 的合约的持仓量if (positions[i].Type == PD_LONG || positions[i].Type == PD_LONG_YD) {   // 如果 持仓类型是 多仓 , coefficient 赋值为 -1 ,即 代表 反对冲: 多 symbolA  空 symbolBcoefficient = -1}}}_.each(arr, function(pair) {                                 // 把 控制表字符串 数组的  每一个单元  迭代传递到 匿名函数 作为参数 pairvar tmp = pair.split(':');                               // 把每个 网格节点的 单元 按照':'字符 分割成 参数 数组 tmpif (tmp.length != 3) {                                   // 由于 格式 是  30:15:1  即   开仓差价: 平仓差价: 下单量    ,所以 用 ':' 分割后 tmp长度 不是3的 即 格式错误throw "开仓表不正确";                                  // 抛出异常  格式错误}var st = {                                               // 每次迭代的时候 构造一个对象 open: Number(tmp[0]),                                // 开仓  把 tmp[0]  即 30:15:1 按 ':' 分割后 生成的数组中的 第一个元素  30 , 通过 Number 函数 转换为数值cover: Number(tmp[1]),                               // 平仓..amount: Number(tmp[2]),                              // 量..hold: 0                                              // 持仓 初始为0}if (n > 0) {                                             // 如果 n 大于0  ,即 开始的时候 有持仓。var m = Math.min(n, st.amount)                       // 取 当前合约组合中 symbolA的 持仓量   和  网格节点 中的开仓量  二者的 

这篇关于商品期货套利 - 多品种网格对冲模型 注释版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/721716

相关文章

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

CSS 样式表的四种应用方式及css注释的应用小结

《CSS样式表的四种应用方式及css注释的应用小结》:本文主要介绍了CSS样式表的四种应用方式及css注释的应用小结,本文通过实例代码给大家介绍的非常详细,详细内容请阅读本文,希望能对你有所帮助... 一、外部 css(推荐方式)定义:将 CSS 代码保存为独立的 .css 文件,通过 <link> 标签

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Redis中如何实现商品秒杀

《Redis中如何实现商品秒杀》:本文主要介绍Redis中如何实现商品秒杀问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录技术栈功能实现步骤步骤一:准备商品库存数据步骤二:实现商品秒杀步骤三:优化Redis性能技术讲解Redis的List类型Redis的Set

Python中的输入输出与注释教程

《Python中的输入输出与注释教程》:本文主要介绍Python中的输入输出与注释教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、print 输出功能1. 基础用法2. 多参数输出3. 格式化输出4. 换行控制二、input 输入功能1. 基础用法2. 类