首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Node.js股票模拟交易后台

我曾经花了一周时间开发了一个股票模拟交易后台程序,使用Node.js。代码量很少,能完成基本功能。下面给大家介绍一下其实现步骤。...基本功能 开户 搜索股票 挂单(多单、空单) 撤单(主动、被动) 成交(非撮合) 除权、除息 查询 订单状态 持仓 今日委托 今日成交 历史委托 历史成交 挂单列表 账户详情(总收益,收益率,总资产) 其中模拟交易和真实交易最大的不同是...佣金字段用于模拟交易的手续费和税费。可用资金字段是,当用户挂单的时候有一部分资金处于冻结状态,可用资金就是去除冻结资金的金额。...首先就是一系列的判断,是否可以创建订单。 参数是否在取值范围内。 市价单类型,判断是否开市,未开盘时间段不能创建订单。 账户异常状态不能创建订单。...当有订单创建的时候,通过消息队列通知进程。当进程重启的时候,从数据库读取数据进行初始化。 超时订单处理 有些订单一直没有满足成交条件,但已经超过交易时间,所以要进行处理。

2.9K30

模拟跨链原子交易的DEX设计详解

跨链原子交易主要适用于Bitcoin与模仿他的山寨币系统之间的币币兑换,其技术原理对于普通用户要求过高,交易双方都需要理解币币兑换的实现原理,交易双方还需要通过其他手段找到交易对手方。...DEX还需要提供正确的操作时序逻辑,以模拟出类似跨链原子交易的功能。在DEX系统中,交易双方的挂单数据是公开上链的,对外界是透明可见的,DEX系统自身不再有恶意操纵市场的可能了。...DEX的缺陷就是交易费用较高,交易处理速度较慢,因为在交易过程中,需要和公链系统做多次交互。EX则提供了高频率低成本的交易服务,因为交易只涉及修改内部数据库,并不涉及公链。...第1类系统,可采用Plasma、Roll-Up等侧链技术,或多重签名、支付通道、状态通道等技术,交易速度快、成本低。 第2类系统,由于资金并没有从主链流入进来,因此需模拟实现跨链原子交易功能。...在《DEX的分类中》一文中给出了两类DEX,其中一类不需要将资产映射或划转到DEX系统,因此这类DEX本质上是对跨链原子交易模拟

81720

R语言模拟疫情传播-RVirusBroadcast

鉴于画图是R语言的优势,所以笔者在读过源码后,写了一个VirusBroadcast程序的R语言版本,暂且叫做RVirusBroadcast。...(为了防止上面的超链接被过滤掉而打不开,文末也放上了明文链接) 效果展示 下面两段视频是RVirusBroadcast用模拟的数据展示的效果,由于笔者的电脑性能实在一般,所以暂时只模拟了30天的数据。...请再次注意下面两段视频的数据是模拟生成的,纯属虚构,不具有现实意义,仅供电脑模拟实验所用。...朋友们如果有兴趣,可以自行查阅复制下文中的R代码,自由修改。 如果您对代码有任何意见或建议,请联系hxj5hxj5@126.com。谢谢!...RVirusBroadcast ###author:hxj7(hxj5hxj5@126.com) ###version:202002010 ###note:本程序是"VirusBroadcast (in Java)"的R版本

81420

R-概率统计与模拟

机缘巧合,笔者遇到了几个比较有意思的题目,和朋友们分享一下: 这几个题目都是和概率统计相关,本来都是可以推演出精确的解,但是有意思的是,笔者从一位网友处得知这类题目可以用 R 来做模拟求得一个近似解。...这是精确解,那么如何做模拟呢?...笔者没有实际动手做过模拟,但是记得“抛十万次硬币,正面朝上的次数会非常接近于五万”,所以笔者对模拟的初步认识就是用大量的随机实验去模拟,每一次随机实验会得到一个结果,这个结果要么符合我们的要求,要么不符合...要想让模拟的结果接近真实值,模拟的总次数要足够多。...为了解决这个问题,同时看看不同模拟次数的效果如何,笔者编写了一小段 R 代码: # Q1 oxn <- function(n) { x <- 0 for (i in 1:n) x <-

54510

基于R软件的统计模拟

+ Sys.sleep(1) + x + r > y + }) > mean(prb) [1] 0.4 三、R软件的统计模拟功能 1、R软件优秀的随机数模拟功能 生产某概率分布的随机数是实现统计模拟的前提条件...,而使用R命令可以生成以下常用分布的随机数 ?...2、优良的编程环境和编程语言 R所拥有的好的兼容性、拓展性和强大的内置函数有利于统计模拟的实现。 3、高效率的向量运算功能 使用R拥有的向量运算功能可以大大减少程序运行的时间,提高程序运行的效率。...应用R软件模拟验证大数定律 ?...2、在R软件实现的算法思想: 由大数定律可知,当n→∞,样本的均值趋向与理论分布的期望,因此利用样本容量 逐渐增大这一趋势来模拟n→∞这一趋势,在这种趋势下,样本的均值与理论分布期望的误差ε应该呈现出越来越小的趋势

3.1K70

R语言模拟:Bias Variance Decomposition

接上一篇《R语言模拟:Bias-Variance trade-off》,本文通过模拟分析算法的泛化误差、偏差、方差和噪声之间的关系,是《element statistical learning》第七章的一个案例...模拟方法说明 本文通过对泛化误差的分解来说明训练集误差变化的原因,我们做如下模拟实验: 样本1::训练集和测试集均为20个自变量,80个样本,自变量服从[0,1]均匀分布,因变量定义为: Y = ifelse...knn根据距离样本最近的k个样本的Y值预测样本的Y值,knn模型用于样本1,R语言中可通过函数knnreg实现。...best subset linear model 对于输入的样本,获取最优的自变量组合建立线性模型进行预测,best subset model用于样本2,R语言中可通过函数regsubsets实现。...代码 语言:r 后台回复“代码”获取代码文件 knn model # bais variance trade-off regression # knn library(caret) # get

1.1K10

创建自动滑雪模拟

所以决定在模拟器上运行我的实验。 为这个项目选择的模拟器是名为SNOW的正常游戏。该游戏是免费的(有免费地图以及必须支付的访问权限)。游戏玩法非常简单。有男人可以控制,可以玩两个,使用滑雪板和滑雪。...为了有效地解决这些类型的问题,创建了类决策。在这种情况下,有诸如转向,加速,速度等参数。因此首先讨论想要实现的内容。 ? 折叠位置 (按W)。...因此创建了一个名为Decision的Object。...在其中定义以下参数 self.vel = 0 self.acc = 0 self.tuck = 0 self.forward_time = 0 前两行用于创建变量,用于跟踪速度和加速度。...0.5: self.go_right(angle) elif angle < -0.5: self.go_left(angle) 结论 在这篇文章中,解释了如何设法从正常的游戏SNOW,创建自动滑雪示例的模拟

65720

R语言模拟疫情传播-gganimate包

本文用gganimate包展示模拟疫情数据 本文篇幅较长,分为以下几个部分: 前言 效果展示 小结 附录:代码 前言 前文《R语言模拟疫情传播-RVirusBroadcast》已经介绍了一种用R语言模拟疫情传播的方法...,不过当时为了实时模拟数据(没有事先准备好的数据集可用)的动态展示效果,笔者在RVirusBroadcast中使用的是R中的基础作图功能,在本文中我们将用gganimate包来生成动态图。...由于gganimate的运算量较大,所以只模拟了30天的数据。 效果展示 请注意下面的gif动图都是模拟生成的,纯属虚构,不具有现实意义,仅供电脑模拟实验所用。 当人们随意移动时 ? ?...RVirusBroadcast-via-gganimate ###author:hxj7 ###version:202002010 ###note:本程序是"VirusBroadcast (in Java)"的R-...CITY_WIDTH <- 700 # 城市大小即窗口边界,限制不允许出城 CITY_HEIGHT <- 800 MAX_TRY <- 300 # 最大模拟次数

1.3K30

R问题|数值模拟流程记录和分享

简介 最近在做论文模拟实验并将实验结果进行可视化。下面是我这阶段的一些经验总结,在此记录下,也希望能够帮助到你。 方法不一定最优,也欢迎批评指正。...我的目标是将不同参数模拟的结果最后通过一副图进行可视化。...难点:每个脚本代码量较大,模拟时间较长(10h+),为了方便起见,我将不同参数单独构建成一个脚本,然后开启多个Rstudio,进行“人工”并行运算并保存各个脚本的 Rdata 和数据集。...最后新建一个 R 脚本,加载参数模拟结果并绘图。最终可视化结果如下: ? 这里的每行图形来自一个Rdata(一组参数),整幅图中包含了三组不同参数的结果。...具体教程参考:R语言统计与绘图:给组合图形添加ABCD小标签;R可视乎|合并多幅图形;R语言ggplot2作图一些好看的颜色搭配;paletteer包:拥有2100多个调色板!

88310

剖析DeFi交易产品之UniswapV4:创建池子

创建池子的底层函数是 PoolManager 合约的 initialize 函数,其代码实现并不复杂,如下所示: function initialize(PoolKey memory key, uint160...UniswapV3 的 fee 只指定了固定的交易费率,但 UniswapV4 的 fee 其实还包含了动态费用、hook 交易费用、hook 提现费用等标志。...另外,UniswapV3 的费率只能在指定支持的几个费率中选择一个,而 UniswapV4 取消了这个限制,费率完全放开了,由池子的创建者自己去决定要设置多少费率。...不过 getHookFees() 的返回值里其实是由两个费用组合而成的,一个是交易费,一个是提现费。返回值是 24 位,前 12 位是交易费,后 12 位是提现费。...最后发送事件,整个创建池子的流程就完成了。

18210
领券