GitXplorerGitXplorer
c

jaybeams

public
2 stars
2 forks
50 issues

Commits

List of commits on branch master.
Verified
36f2584151e8f9e120ea336b7c208a9801bbeff5

Merge pull request #172 from coryan/develop

ccoryan committed 7 years ago
Verified
2055c0937edbdb69d48001b7b0ec8492d7230589

Fix doxygen mainpage.

ccoryan committed 7 years ago
Verified
20209ca4c5b3672509735c350d9888774e6934d2

Merge pull request #171 from coryan/external-gee-h

ccoryan committed 7 years ago
Verified
46b6d4033cf452a84d6480bc0853d69cfbbd6f1c

Remove CompileProtos.cmake, unused.

ccoryan committed 7 years ago
Verified
4e8fcce875a21b999168c46208d42b25a52e3348

Fixes code coverage support.

ccoryan committed 7 years ago
Verified
d66d8f55ffd6a62dff908a56b8c2d8dcf866de7e

Update scripts to upload docs.

ccoryan committed 7 years ago

README

The README file for this repository.

JayBeams Documentation

Join the chat at https://gitter.im/jaybeams/Lobby Build Status codecov Codacy Badge Documentation

Another project to have fun coding.

The JayBeams library performs relative time delay estimation of market feeds. That is, given two feeds for the same inside quote data it estimates, in near real-time which one is faster, and by how much.

  • Licensing details are found in the LICENSE file.
  • The installation instructions are in the INSTALL file.

Motivation

The US equity markets have a lot of redundant feeds with basically the same information, or where one feed is a super set of a second set. When one has two feeds an interesting question is to know how much faster is one feed vs. the other, or rather, how much faster it is right now, because the latency changes over time. There are (usually) no message IDs or any other simple way to match events in one feed vs. events in the second feed. So the problem of "time-delay estimation" requires some heavier computation, and doing this in real-time is extra challenging. The current implementation is based on cross-correlation of the two signals, using FFTs on GPUs to efficiently implement the cross-correlations.

You can find more details about the motivation, and the performance requirements on my posts

Really, that is the motivation?

I confess, I wanted to learn how to program GPUs, and given my background this appeared as an interesting application.

So where is the code?

I am pushing the code slowly. I want to make sure it compiles and passes its tests on at least a couple of Linux variants. This can be a challenge given the dependency on OpenCL libraries.

What is with the name?

JayBeams is named after a WWII electronic warfare system. The name was selected more or less at random from the Wikipedia list of such systems, and is not meant to represent anything in particular. It sounds cool, in a Flash Gordon kind of way.

Licensing and Copyright Notice

Copyright 2015-2017 Carlos O'Ryan

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.