程序员的量化交易之路(29)--Cointrader之Tick实体(16)

简介:

转载需注明出处:http://blog.csdn.net/minimicall,http://cloudtrade.top

Tick:什么是Tick,在交易平台中非常常见,其实就 单笔交易时某只证券的基本数据。

我们通过代码来学习吧:

package org.cryptocoinpartners.schema;

import javax.annotation.Nullable;
import javax.persistence.Entity;
import javax.persistence.ManyToOne;
import javax.persistence.Transient;

import org.joda.time.Instant;

/**
 * A Tick is a point-in-time snapshot of a Market's last price, volume and most recent Book
 *一个Tick是某一时刻某个交易品的最新交易价格、量和最新的报价单列表
 * @author Tim Olson
 */
@Entity//在数据库中会创建数据表Tick
public class Tick extends PriceData implements Spread {
//继承自PriceData,一些市场的数据就包含了。
    public Instant getStartInstant() {
        return startInstant;
    }

    @Transient
    public Instant getEndInstant() {
        return getTime();
    }

    @ManyToOne
    public Book getLastBook() {
        return lastBook;
    }

    /** @return null if no book was found prior to the window */
    @Override
    @Transient
    public @Nullable
    Offer getBestBid() {
        return lastBook == null ? null : lastBook.getBestBid();
    }

    /** @return null if no book was found prior to the window */
    @Override
    @Transient
    public @Nullable
    Offer getBestAsk() {
        return lastBook == null ? null : lastBook.getBestAsk();
    }

    public Tick(Market market, Instant startInstant, Instant endInstant, @Nullable Long lastPriceCount, @Nullable Long volumeCount, Book lastBook) {
        super(endInstant, null, market, lastPriceCount, volumeCount);
        this.startInstant = startInstant;
        this.lastBook = lastBook;
    }

    @Override
    public String toString() {
        return String.format("Tick{%s last:%g@%g bid:%s ask:%s}", getMarket(), getVolumeAsDouble(), getPriceAsDouble(), getBestBid(), getBestAsk());
    }

    // JPA
    protected Tick() { 
    }

    protected void setStartInstant(Instant startInstant) {
        this.startInstant = startInstant;
    }

    protected void setLastBook(Book lastBook) {
        this.lastBook = lastBook;
    }

    private Instant startInstant;
    private Book lastBook;//报价单
}


相关文章
|
机器人
小红书自动发布笔记,真好用!
小红书自动发布笔记,真好用!
2650 0
|
9月前
|
消息中间件 NoSQL Java
拒绝频繁写库!SpringBoot 整合 BufferTrigger 实现高性能“流量聚合”
本文介绍如何用SpringBoot整合BufferTrigger实现高性能流量聚合,解决高并发下频繁写库的痛点。通过快手开源的BufferTrigger组件,可将大量数据库操作合并为批量执行,显著提升I/O效率,适用于计数、埋点、状态同步等场景,兼具高性能与低延迟。
796 145
|
2月前
|
弹性计算 小程序 容灾
阿里云服务器速度怎么样?2026年全国多节点延迟与带宽深度实测
本文由零度云特约撰写,实测阿里云四大核心节点(北京、杭州、深圳、成都)全国访问延迟、稳定性及带宽表现。数据显示:同区域访问延迟低至5–15ms,跨区普遍≤50ms;晚高峰丢包率0%;5Mbps带宽实测跑满640KB/s,入网速度超4.5MB/s。选购建议:用户在哪,就选就近节点;全国业务首选杭州。
阿里云服务器速度怎么样?2026年全国多节点延迟与带宽深度实测
|
3月前
|
人工智能 安全 Shell
Agent 工具越用越乱?5.1k Star Omnigent,直接给 Claude Code/Codex/Cursor 加一座调度塔
Omnigent 不是再造一个 AI Agent,而是给 Claude Code、Codex、Cursor、Hermes、Pi 等 Agent 加一层统一编排、策略治理、沙箱和协作的 meta-harness。
586 1
Agent 工具越用越乱?5.1k Star Omnigent,直接给 Claude Code/Codex/Cursor 加一座调度塔
|
7月前
|
人工智能 运维 API
2026年阿里云无影云电脑部署OpenClaw(Clawdbot)新手小白保姆级教程
在AI自动化办公飞速普及的2026年,OpenClaw(原Clawdbot、Moltbot)凭借“零编程门槛、自然语言驱动、主动执行任务”的核心优势,成为新手小白解锁AI效率的首选工具。作为GitHub星标量超19万的开源AI自动化代理工具,它能替代70%的重复性办公工作——从文档生成、日程提醒,到跨工具协同、简单代码生成,只需一句口语化指令,就能自动完成全流程操作。但此前,很多新手因本地设备配置不足、云环境搭建繁琐、依赖调试复杂等问题,对OpenClaw望而却步,即便有基础教程,也常常因专业术语晦涩、步骤不细致而半途而废。
1263 7
|
2月前
|
SQL Java 关系型数据库
连接池耗尽服务全挂,排查3天才发现HikariCP默认值全是坑
本文记录一次线上服务雪崩事故的3天排查过程:核心服务RT从80ms飙升至30秒,根源竟是HikariCP三个开发默认值——maximum-pool-size=10、connection-timeout=30s、idle-timeout=10分钟——在高并发下形成乘法级灾难。文章详解问题原理,并给出生产级配置方案。
|
3月前
|
Linux 测试技术 Android开发
Qt 跨平台软件开发的流程
Qt跨平台开发实现“一次编写,到处运行”,支持Windows/macOS/Linux/Android/iOS及嵌入式系统。依托QPA抽象层、C++/QML统一代码、CMake构建与分层架构,高效保障UI一致性与逻辑可移植性。(239字)
|
3月前
|
缓存 安全 Windows
C 盘垃圾清理全攻略:先删什么、哪些该迁移,安全扩容不翻车
本文手把手教你一套安全、高效、不踩坑的 C 盘清理流程,配图清晰,照着做就能释放大量空间!
|
3月前
|
人工智能 数据可视化 Linux
Markdown 转 Word 工程化实践:从 AI 内容到可交付 DOCX 的 几种方案
Markdown转Word仍高频,主因AI生成内容含公式、表格、代码等,直接粘贴易错乱。本文详解DS随心转(零配置/多端支持)、Pandoc(工程化/批量)、Typora(可视化/单篇)等5种方案,并附实操步骤与安全建议。
1169 0
|
10月前
|
人工智能 算法 API
谈谈玩美移动 AI API 的技术路径与落地能力
玩美移动凭借多年美妆科技积累,打造稳定、可控的AI API服务,覆盖虚拟试妆、肤质分析、AI换装等场景。其多模态技术体系融合高精度人脸关键点、皮肤纹理建模与3D结构预测,结合商业化落地经验,实现跨设备、跨光线的高质量图像处理。模型幻象率低,结果一致性高,已广泛服务于全球品牌与零售商。
624 5

热门文章

最新文章