首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏渔夫

    算法-股票交易

    如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。

    96720发布于 2019-07-31
  • 来自专栏信数据得永生

    Python 算法交易秘籍(二)

    拥有便捷的金融数据对于进行算法交易至关重要。 拥有这些数据是算法交易的第一步。本文介绍如何获取金融工具列表。 准备工作 确保在 Python 命名空间中有 broker_connection 对象可用。请参考本章的技术要求部分进行设置。 算法交易策略总是在历史数据上进行虚拟执行,以评估其在实际投资前的过去表现。这个过程被称为回测。历史数据对于回测至关重要(在第八章,回测策略中有详细介绍)。 根据算法交易策略的不同,您可能需要较短的蜡烛图间隔或较大的蜡烛图间隔。1 分钟的蜡烛图间隔通常是最小的可用蜡烛图间隔。此示例演示了金融工具一天的历史数据在各种蜡烛图间隔下的情况。 根据您的算法交易策略,您可能需要烛台间隔小或大。1 分钟的烛台间隔通常是最小的可用烛台间隔。 Renko 砖块图案的工作原理如下: 每个烛台仅具有 open 和 close 属性。

    1.2K20编辑于 2024-05-11
  • 来自专栏信数据得永生

    Python 算法交易秘籍(一)

    您还将揭示从零开始设计和执行强大的算法交易策略时所面临的挑战。后续章节将带您进行回测、模拟交易,最终进行真实交易,使用您从零开始创建的算法策略。 本书结束时,你将能够通过实现 Python 库来进行算法交易,从而使用 Python 进行算法交易生态系统中的关键任务。 第九章,算法交易 – 回测,介绍了如何使用两个策略编码示例来回测您自己的算法交易策略,其中包括常规订单和挂单。 第十章,算法交易 – 模拟交易,解释了如何在实时市场中使用两个策略编码示例来模拟交易您自己的算法交易策略,其中包括常规订单和挂单。 第十一章,算法交易 – 实盘交易,解释了如何在实时市场和真实资金中使用两个策略编码示例进行真实交易您自己的算法交易策略,其中包括常规订单和挂单。

    2.7K50编辑于 2024-05-11
  • 来自专栏量化投资与机器学习

    算法交易,此篇足矣!

    本期,公众号将对算法交易做一介绍,在后面的几期推文中,我们将展开对算法交易的技术应用、算法结构等进行讲解! 前言 本文尝试以第三人称的视角解读算法交易。 把算法这个词拆开——“算法”和“交易”,这里的交易是指在资本市场上的买卖行为,而算法是个专业术语。如果你已经知道算法的含义,那下面一段可以跳过。 George Box 算法交易和自动化交易的差异 自动化交易往往和算法交易混淆,前者是完全自动化的交易过程,买入卖出完全由计算机编程决定,即整个指令是自动创建、提交(给市场)并被执行。 搭建入门级高频交易系统(架构细节分享) 简而言之,算法交易以编写好的算法为基础来执行,而高频交易主要指特定类型的超快速自动化交易。 智能算法交易系统 ? 4、神经网络模型 神经网络几乎是最受算法加以者青睐的机器学习模型。神经网络由输入变量和输出变量之间互相连接的节点层组成。

    3.6K24发布于 2019-07-15
  • 来自专栏大数据文摘

    算法帝国》:被算法算法交易改变的未来

    上海证券交易所CTO白硕,从算法算法交易的角度探究算法如何改变未来并统治世界,以及算法交易在中国引发的技术生态变革。 他总结在交易的变革中,交易所面对的生态变化是:1.开放竞争带来交易所对交易量的绝对追求;2.效率目标压倒一切;3. 技术成为核心竞争力,技术收入占比上升;4. 谋求优先成交、撮合前置的能力;3.为自营业务和优质客户谋求更高交易效率;4.为市场提供多样化的避险套利交易品种。有一种是超短线的,市场间、品种间瞬时出现赚钱的机会,就看谁快。 而对变革中的投资者,白硕老师分析道:1算法交易订单占比已大大超过手工交易订单,金额上也超过了;2.具有数理及IT背景的投资者崛起于华尔街;3.模型成为核心竞争力,得好模型者得天下;4. 接下来,白硕老师还解析了变革中的硬件:1.多核、集群、GPU支持下的大数据量化分析;2.利用专用硬件进行数据交换协议编解码;3.利用高速网络进行节点间通信;4.利用专用协议栈/设备进行高效率内存直访。

    1.7K50发布于 2018-05-21
  • 来自专栏岑玉海

    RChain的跨分片交易算法

    在以太坊的第一期的分片计划当中是没有跨分片交易的,交易只能存在于同一个分片的账户之间,也就是不能跨行转账。 那如何实现跨行转账呢? 子分片到父分片交易 向父分片发送消息的总结如下: 1、就发送消息到父分片的决定达成共识 2、validators签名然后把消息发送给父分片 3、消息需要至少k个validators的签名 4、获得k个签名之后 父分片向子分片交易 传输过程如下: 1、就发送消息的决定达成共识 2、子分片的validators作为父分片的客户端,收到了这条消息 3、子分片的validators在子分片的区块链上存储这条消息 4、 P在爱丽丝的账户金额当中锁定,并且不能被其他交易使用 3、当得到了K次确认之后,交易执行成功 4交易被取消的话,如果时间少于T,则代币会归还到爱丽丝的账户当中 ? 在上述的例子当中,从"/a/b"转账给"/d"需要通过图中红色的分片 算法如下: 爱丽丝和鲍伯在不同的任意碎片之间的转移将执行以下算法: Let LCA-A be the depository of Alice's

    1.3K20发布于 2018-07-05
  • 来自专栏公众号:千与编程

    LeetCode股票交易算法题目总结(一次交易,两次交易,无数次交易

    我们第一篇就先聊聊算法题中的——股票交易算法问题 股票交易题目内容如下: 1.买卖股票的最佳时机(一次交易): (1) 暴力遍历法: (面试使用此法,容易回去等结果) 对于数组的最优条件的比较问题 ) 与上一道算法题不同之处在与本次股票交易需要进行两次交易所得利润的最大之和,也就是就是在整个的过程中,会有两次“买入卖出”的操作,你需要对两次股票交易所得利润求得计算利润的总和。 有两个操作1)第i天没有操作2)第i天卖出股票,所以此时最大收益,应该为这两个操作比大小 dp[i][4] = Math.max(dp[i - 1][4], dp[i - 1][ 3] + prices[i]); } return dp[prices.length - 1][4]; } } 3.买卖股票的最佳时机(无数次交易) 本题相比于前面的两道题目来说 算法流程: (1)初始化股票交易的最大利润的总值sum=0; (2)比较今天的股票价格与前一天的股票价格,如果今天的股票价格比前一天的股票价格高,则说明可以带来正向收益,可以计算加入正向的最终收益。

    1.1K10编辑于 2023-04-28
  • 来自专栏申龙斌的程序人生

    用NBitcoin进行区块链开发(4) : 交易

    API接口: https://blockchain.info/rawtx/f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16 client = new QBitNinjaClient(Network.Main); uint256 txid = uint256.Parse("f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16 NBitcoin中提供了一个Transaction类,所有与交易有关的信息都在这里了,最重要的信息是交易的输入项(inputs)和输出项(outputs)。 ? (inputs)来自于之前的某笔交易的输出(PrevOut)。 这个例子中的交易是区块高度为170的区块中的第二笔交易,所以也可以用下面的代码直接找到这笔交易

    2K30发布于 2018-12-29
  • 来自专栏全栈程序员必看

    python控制mt4自动交易软件下载_MT4 EA智能自动交易系统使用教程

    1.首先,你要有一个EA,必须要有以ex4为扩展名的,如果只有mq4文件的话,就要用MetaTrader自带的编辑器MetaEditor打开,将mq4通过编译(compile)并且要不出现错误,才能在原存放 mq4的文件夹下面得到一个同名的ex4文件。 2.将这个ex4文件复制到MetaTrader 4所在的文件夹下面的experts文件夹下, 比如:D:\Program Files\ACTC MetaTrader 4\experts,关闭并重新打开MetaTrader 4。 3.在“导航”下面的“智能交易系统”下面右键点击你想要使用的EA, 这里以我的10点盈利系统举例,点“附加到图表”,如: 4.将会出现下面的弹出窗口: 特别要注意这里的选择,如果没有钩选“允许实时自动交易

    2K20编辑于 2022-09-02
  • 来自专栏量化投资与机器学习

    算法交易系统架构,此篇足矣!

    本篇推文将分三个部分由浅到深,为大家介绍算法交易系统架构的细节: 算法交易系统概述 算法交易系统要求(重点) 算法交易系统架构(超重点) 第一部分:算法交易系统概述 算法交易是使用计算机算法自动做出交易决策 算法交易系统最好使用由三个组件组成的简单概念架构来理解,这些组件处理算法交易系统的不同方面,即数据处理程序、策略处理程序和交易执行处理程序。这些组件与上述算法交易的定义一一映射。 第二部分:算法交易系统要求 算法交易系统(ATs)使用计算算法制定交易决策,提交指令,并在提交后管理指令。近年来,算法交易系统越来越受欢迎,目前已占据通过国际交易所进行的大部分交易4、可靠性——是系统为接收到的输入产生正确输出的准确性和可靠性。由于算法交易系统中的错误和漏洞会导致巨额损失和罚款,可靠性至关重要。 5、可审计性——是指系统易于被审计。 4、存储区域网络(SAN)——支持时态数据聚合,连续查询和记录(用于审计跟踪)。 5、数据恢复(DR)环境——复制SAN和指令管理系统。

    5.2K31发布于 2019-07-23
  • 来自专栏全栈程序员必看

    mt4平台如何下载_mt4交易平台

    当前我们若要顺势进场交易,除了要选择一个好的交易平台,一个实用的投资软件也必不可少。 虽然目前市面上流行着多种mt4平台,优质型的不少,但也不乏“山寨版”,后者多为不法平台为了恶意操纵显示的行情以坑骗投资者的资金而自主研发的,危害性极大。那mt4平台哪个比较好用更安全呢? 投资者除了要知道mt4平台哪个比较好用更好之外,还应充分了解下载何种软件更利于我们顺畅交易。 而在这一点上,于全球各地都设有服务器的MT4无疑具有无可比拟的优势。 简单来说,最好是通过正规渠道进行下载安装MT4,这样才能避免遭遇劣质软件。 此外,还应优先选用网络连通质量高、响应速度快的MT4系统,以保障自己能顺畅地在市场上进行投资买卖。

    1.2K20编辑于 2022-09-21
  • 来自专栏机器学习AI算法工程

    将机器学习用到算法交易

    实例三:强化学习与算法交易 最后,跟大家分享一个强化学习与算法交易的案例。 强化学习,也是和刚刚所看到的,朴素贝叶斯分类器非常不同的技术。 是关于算法交易的,它的目的很简单。就是假设我希望在H这个时间段内,比如说五分钟内,卖出V股,某个公司的股票,我应该怎么操作?具体怎么下单,比如说我一次卖多少股,以多少价格,多久的时候再买一次。 有经验的交易员,会不断优化下端的交易数量的价格。那么,有没有办法让计算机就像交易员一样,通过不断的操作获取经验,能够完成一个优秀的拆单方法呢? 这个跟强化学习的目的比较类似。 比如说对于系统,能够返回的信息,包含着两个部分,如果一个机器在算法交易过程中,随时会看自己还剩多少时间,还剩多少股票需要卖。 如果改成把两分钟分为四个时间段,不断做四次决策,或者每次,假如有五千股,拆成四份,每次以最小卖出单元1/4来判断的话,我的结果就是中间一条线,如果t和i扩大,变成8,效果更好。

    1.3K80发布于 2018-03-13
  • 来自专栏AI科技大本营的专栏

    实战:基于技术分析的Python算法交易

    Technical Analysis)来创建交易策略。 然而,这笔交易是次日执行的,价格可能会发生大幅变化。在 zipline 中,交易不会因为金额不足而被拒,但我们可以通过负的余额将其终止。 ,计算起始日期,以使投资者能在2016年的第一个交易日制定交易决策。 get_start_date('TSLA', '2016-01-04', 19) # '2015-12-04' 在下面的策略中,我们使用修改后的日期作为起始日期: %%zipline --start 2015-12-4 我们还对每一次交易做了标注,即在记号之后的第一个交易日执行此笔交易。 ?

    2.2K22发布于 2019-11-14
  • 来自专栏Keegan小钢

    剖析DeFi交易产品之UniswapV4:Swap

    Swap 可分为两种场景:单池交易和跨池交易。在 PoolManager 合约里,要完成交易流程,会涉及到 lock()、swap()、settle()、take() 四个函数。 单池交易时只需要调一次 swap() 函数,而跨池交易时则需要多次调用 swap() 函数来完成。 而如果是跨池交易的话,则需要在 Router 层面确定好交易路径,然后根据路径执行多次 swap。 PoolId id = key.toId(); _checkPoolInitialized(id); if (key.hooks.shouldCallBeforeSwap()) { bytes4 第一个字段表示当前还有多少指定的金额未进行交易计算的,第二个字段表示已经交易计算累加的数额。为了理解这两个字段,我们举个例子来说明。

    77510编辑于 2023-12-11
  • 来自专栏修也的进阶日记

    算法手记4

    解题代码: 本题解题代码如下: class Solution { public: int vis[101][101]={0};//标记这个位置是否被用过 int dx[4]={0,0,1 ,-1}; int dy[4]={1,-1,0,0}; bool exist(vector<string>& board, string word) { word.size()-1) return true; //进入这个位置就把这个位置锁住 vis[x][y] = 1; //如果递归的是中间字符,继续搜索4个方位有没有符合下一个的 ,如果有,继续递归搜 for(int i=0; i<4; i++) { int a = x+dx[i],b=y+dy[i]; 如果四个位置找完没有符合下一个字符的,那么释放本位置的锁,返回false vis[x][y]=0; return false; } }; 结语 说点啥好呢...牵扯二维的算法就有点难了

    24310编辑于 2025-03-15
  • 来自专栏云深之无迹

    Python算法.4

    Python算法.3 Python 算法.2 Python算法.1 colors=['black','white'] sizes=['S','M','L'] tshirts=[(color,size print("A:%2d B:%2d C:%2d" % (a, b, c), end='') i += 1 if i % 4 # 求阶乘 def fact(n): if n==1: return 1 return n*fact(n-1) fact(4) def fib(n): if n

    45850发布于 2021-07-23
  • 来自专栏国产程序员

    垃圾回收算法(4)-复制算法

    算法原理 复制算法首先将或者的内存空间分为2块,每次只使用其中一块,在垃圾会搜时将正在使用的内存中的存活对象复 制到未被使用的内存块中,之后清楚正在使用的内存块中的所有对象,交换2个内存的角色,最后完成垃圾回收 因为年轻代中的对象基本都是朝生夕死的(80%以上),所以在年轻代的垃圾回收算法使用的是复制算法,复制算法的基本思想就是将内存分为两块,每次只用其中一块,当这一块内存用完,就将还活着的对象复制到另外一块上面 复制算法不会产生内存碎片。 在GC开始的时候,对象只会存在于Eden区和名为“From”的Survivor区,Survivor区“To”是空的。 image 存在问题 由于JVM中的绝大多数对象都是瞬时状态的,生命周期非常短暂,所以复制算法被广泛应用于年轻代中。 不过在垃圾收集技术中,复制算法提高效率的代价是认为的将可用内存缩小了一半。 个人博客 简书 掘金 CSDN OSCHINA

    98520发布于 2020-07-22
  • 来自专栏量化投资与机器学习

    【精选】神经网络应用于算法交易

    基于技术分析的投资策略 但这种交易策略有一个主要的缺陷:在震荡行情中,策略没有过多的触及信号并交易,这样我们也很难赚到钱。 那我们怎么应用机器学习去改善呢? 我们来看下面的策略假设:在移动平均线金发生叉死叉的时刻,我们会对某些特征的变化做出预测,如果我们真的期望这个交叉点是可行的,我们便选择相信这个交易信号。 否则我们会跳过。 训练网络后,我们绘制收盘价,均线和垂直线的交叉点:红色线和橙色线代表我们要交易的点。绿色线代表我们不去交易的点。 我们可以看到,策略减少了2次交易,并帮助我们减少了第一个drawdown,最终提高了几乎两倍的回报! 4、不要忘记找到正确的超参数! 5、编写一个可以混合一些经典机器学习的策略! 量化投资与机器学习公众号联合机械工业出版社送出3本《深度学习与计算机视觉》 西门子高级研究员田疆博士作序力荐!

    1.4K120发布于 2018-01-30
  • 来自专栏Keegan小钢

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

    UniswapV3 的 fee 只指定了固定的交易费率,但 UniswapV4 的 fee 其实还包含了动态费用、hook 交易费用、hook 提现费用等标志。 fee 总共 24 位(bit),前 4 位用来作为不同的标志位,具体解析在 FeeLibrary 里实现,以下是其代码实现: // SPDX-License-Identifier: GPL-2.0-or-later 另外,UniswapV3 的费率只能在指定支持的几个费率中选择一个,而 UniswapV4 取消了这个限制,费率完全放开了,由池子的创建者自己去决定要设置多少费率。 不过 getHookFees() 的返回值里其实是由两个费用组合而成的,一个是交易费,一个是提现费。返回值是 24 位,前 12 位是交易费,后 12 位是提现费。 目前 UniswapV4 还没有提供关于该合约的实现,短期内应该也不会开启收取协议费。 最后,通过调用 pools[id].initialize() 函数完成内部的初始化工作。

    68410编辑于 2023-11-27
  • 来自专栏Keegan小钢

    剖析DeFi交易产品之UniswapV4:概述篇

    UniswapV4 与 UniswapV3 相比,算法上并没有什么改变,依然还是采用集中流动性模型,但架构上变化很大,包括功能架构,也包括技术架构。 在以前的版本中,每次交易都需要计算所有相关仓位的余额,尤其涉及跨池交易,还需要在多个池子间多次执行 transfer,交易成本其实挺高的。 增加了 ETH 和 WETH 互换的逻辑,其实增加了交易成本。 这一点对于频繁交易者或流动性提供者非常有价值,因为他们会在多个区块或交易中连续使用相同的代币。 总结一下,UniswapV4 算法上并没有改变,依然还是采用集中流动性,但通过 Hooks 实现了可定制的池,单例合约和闪电记账大幅度降低了 gas 成本,对原生 ETH 的支持也同样减少了 gas,还有对动态费用的支持

    91610编辑于 2023-11-23
领券