程序猿的量化交易之路(29)–Cointrader之Tick实体(16)[通俗易懂]

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

大家好,又见面了,我是全栈君。

转载需注明出处:http://blog.csdn.net/minimicallhttp://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;//报价单}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116329.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 第十六章《持久化》

    第十六章《持久化》

  • petShop_技术架构

    petShop_技术架构.项目概述与架构分析微软刚推出了基于ASP.NET2.0下的PetShop4,该版本有了一个全新的用户界面。是研究ASP.NET2.0的好范例啊,大家都知道,一直以来,在.NET和Java之间争论不休,到底使用哪个平台开发的企业级应用性能最好、结构最优、生产力最高。为了用事实说话,通过对项目各方面的性能评估进而在比较.NET和Java的高下。用户做比较的这个项目就是Pe…

  • crontab 定时同步时间_linux的crontab用法

    crontab 定时同步时间_linux的crontab用法1.首先需了解linux内一任务计划工具crontabcrontab可以定时去执行你要做的动作直接用crontab命令编辑 crontab -u//设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 crontab-l//列出某个用户cron服务的详细内容 crontab-r//删除某个用户的cron服务 crontab-e//编辑某个用户的cr…

  • pytest skipif_白盒测试用例

    pytest skipif_白盒测试用例前言pytest.mark.skip可以标记无法在某些平台上运行的测试功能,或者您希望失败的测试功能Skip和xfail:处理那些不会成功的测试用例你可以对那些在某些特定平台上不能运行的测试用

  • ldap统一用户认证php,Docker搭建OpenLDAP+phpLDAPadmin统一用户认证的方法「建议收藏」

    一、背景使用LDAP对运维相关用户名密码做统一管理。可以实现一个帐号登录多个不同系统。手动部署都是各种问题,后来采用Docker部署,参考了好多教程文档总结如以下内容亲测可用二、部署Docker搭建LDAP#拉取镜像dockerpullosixia/openldap:1.3.0#创建并进入映射目录mkdir-p/usr/local/ldap&&cd/usr/…

  • Linux下export命令和source命令与环境变量设置「建议收藏」

    Linux下export命令和source命令与环境变量设置「建议收藏」Linux下export命令和source命令与环境变量设置环境变量广泛用于程序运行环境的设置。从Linuxshell的角度来看,环境变量无非就是shell脚本的变量而已。从这个角度理解环境变量,就能理解设置环境变量的那些命令究竟在做什么。说明:笔者的系统为debian,shell为bash,以下例子均在笔者的Linux环境下测试,不保证其他环境能够通过。export命令和source命令…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号