15

An interesting starting point is The Cost of Latency by Moallemi and Saglam. After setting up a simple order execution problem --- in which a trader must chose between a market order and a limit order and guarantee execution over a fixed interval $[0,T]$, they proceed to derive a (complex) close form solution for the optimal strategy and evaluate the impact ...


11

We use Node for reporting but not as part of our main signal generating trading system. To be honest the answer will almost certainly be yes for every common programming technology as it just takes one person to use it somewhere to make the answer yes. Just look at OCaml, before Jane street, most techno logiest on the street had never heard of it and now ...


11

A public order book gives traders information not only on the current price of a security, but also the volume and structure of the entire supply and demand schedule. Such information can be used for arbitrage and market manipulation strategies in various ways: Spoofing: Inserting a large limit order as an apparent buy or sell signal which is canceled any ...


10

I am not sure Dark Pools (DP) have been created to avoid "market manipulation". They have been created by firms because they found an advantage to create them (see Market Microstructure in Practice, L and Laruelle Eds.). The main reasons have been: spare market fees, for DP created by brokers (like UBS MTF); spare market impact, for block pools (like ITG/...


8

So those are cumulative pnl figures and you are interested in the percent changes in pnl from one data point to the next? Don't use log returns, simply generate the percent changes through r(t)/r(t-1)-1. 4.3922/5.2735-1 = -16.71% (in your example time series I made the assumption that the time series is in ascending order. Given your description of the ...


8

Ha, interesting, so many responses with "negative" expectations. There are plenty of people that have successfully gone down this road and are producing pretty nice returns, so obviously it is possible. A trader with a smaller capital has better chances of producing good ROC with very reasonable risk parameters, simply because he's would not be constrained ...


7

As a starting point to my answer, I would say that reading a book is not sufficient to start doing automated trading on your own as chrisaycock suggests in his comment. I would answer your questions in 3 different ways. First, building your "AI bot" which I would rather call a systematic algorithm not only requires programming skills, it also means having ...


7

The top chart is called a 'candle stick chart' or 'OHLC candlestick' or 'OHLC bar chart' http://multicharts.com/trading-charts When the price goes down during a time interval (from O to C) the box is filled in orange, when the price goes up it is green bordered with black inside. The exact colors are a matter of taste, as long as they are clearly different ...


6

Cloud9Trader uses Node.js on the back end and JavaScript across its technology stack, including for writing the trading algorithms themselves. https://www.cloud9trader.com


5

I think the best choice for technical analysis with node is node-talib, a wrapper around TA-Lib. We're using it for some projects and it works ok so far. Here's a list of the indicators you get out of the box: AD Chaikin A/D Line ADOSC Chaikin A/D Oscillator ADX Average Directional Movement Index ADXR ...


5

I can share my own experience working with the Deltix product suite. As a research and development platform it's very feature rich with support for every back-testing mode there is (BBO, Trade, Midprice, Bar, Level 2 Order Book) and advanced optimization modes (walk-forward, genetic, mean-variance, portfolio optimization, etc). I have built components and ...


4

For me, I would calculate daily returns for such a series by backing out the daily PnL and dividing by some volatility number. lets define your cumsum as "c_pnl": daily_pnl = c_pnl - [0; c_pnl(1:length(c_pnl-1)] max_draw = max(cummax(c_pnl) - c_pnl) pct_returns = daily_pnl / max_draw # in terms of drawdown Don't you have capital already in the ...


4

There are: Bloomberg: TOMS, SSEOMS, AIM, EMSX TT Trading Systems (X-Trader, mostly for futures, spreads,...) Orc Group: Orc (often used for listed options) And uncountable others, really depends on which product you look to trade. But please note that you asked specifically about automated trading and to be honest, most shops code up their own order ...


4

In terms of system design, I learned the most by reading the developer guides and exchange connectivity specs for various exchanges. You probably won't be connecting to these directly, but understanding how the sessions, book updates, snapshotting works, and what events can occur is very useful. Also, google for the Max Dama automated trading PDF, which ...


4

Your question is generic about matching engines, you should googlize about it or/and read a good book on market microstructure like Market Microstructure in Practice. In short to answer to your question: the seller or the buyer came first in the market inserting a limit order, providing liquidity to other participants. Then came the other side with a ...


4

Go with the multiple arrays. This would give you a column-oriented store, which is far more cache-efficient when handling time-series data. Specifically, you are describing an "in-memory" database table that can be queried. You'll also want to think about how to do your look-ups. Will you have a hash table that maps symbols to OHLC tables? Will you ...


3

I am using NodeJS for a similar project. There's not a ton of packages on NPM for finance and stocks, so I wrote my own, that might help you get started: Fetching historical stock data, including intraday: https://www.npmjs.org/package/node-activetick Charting, analysing, forecasting the data: https://www.npmjs.org/package/timeseries-analysis You can use ...


3

We use node.js at alta5. The event-driven, non-blocking I/O model performs well in data-intensive real-time applications like a trading platform. http://alta5.com/


3

In terms of technology, I would suggest R. In terms of specific actions, you need to decide what to do when the trigger event occurs and you need to decide how to close the positions. Given that, you can then determine your profit and loss on the strategy over the data period. You can use the random portfolio idea by running your strategy a number of ...


3

The ones I know are Marketcetera Merchant of venice (mov) But I found this page with an interesting list on the internet.


3

Remember that all back testing is full of lies assumptions. Latency (both line latency and latency internal to the exchanges), adverse selection, market impact (yes, even you have market impact), etc, are all based on assumptions. These assumptions are educated guesses at best, but more often terrible models are used (you always get filled at at mid!) and ...


2

To be honest I dont fully comprehend your question. Not sure what you try to achieve. You should however not occupy yourself with questions that imply the impossible -> looking ahead. You stand at time t and must make a decision to trade or not to trade and if you trade then in what direction, how much notional, what kind of stops/targets. You can adjust ...


2

You might want to take a look at the Waters Technology buy side technology awards, especially for execution management systems (EMS). Most hedge funds want to use multiple counterparties so they would want a broker-neutral trading system. As far as I'm aware, the most popular platforms are Portware and Flextrade.


2

Don't try to capture LIVE tick data using a WebApp. I'm not saying it can't be done, I'm just saying you would get zero benefits and you would have to work way harder to make it functional. Web servers are designed with a premise, serve the user the requested data as fast as possible and free that resource up. You would have to fight the server logic (as ...


2

In trading you need to make a lot of simple computation of a very large flow of data. FPGA are perfect that for. It is typically FPGA that will host marketfeed handler (see NOVASPARKS website, or ACCELLIZE) ; analytics computations ; risk computation (see ULLINK solution for instance). For more, this generic article is not that bad: Introducing FPGA-Based ...


2

Firstly, I suggest you to use more recognized source to study and compute quantitative finance model or indicators; in such case, for instance, you could take as example the following paper as reference. Precisely there, the authors describe some common errors that one can do in computing the Sortino ratio; although surely you did not do any of them, ...


2

Edit (2016-06-21): Now with live data/trading integration with Interactive Brokers. It has taken a while but it has finally arrived. backtrader (https://github.com/mementum/backtrader) can do 1 and 3 and is in the process of getting 2 ironed out. A live data feed from IB will make it into the next release (due in the next few days) and it will then be down ...


2

You are generally correct with your definition of open interest. It is the total number of "open" contracts for example contracts that have not been closed by a liquidating trade, exercised, or assigned. For example, if one party buys a call and another sells the call option the open interest on that option is now 1. Open interest can be important for a ...


2

In database design there is a process known as ACID: "In computer science, ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties that guarantee that database transactions are processed reliably. In the context of databases, a single logical operation on the data is called a transaction." These tenets ensure that databases have the ...


1

FPGA's are used to run the latency sensitive HFT strategies. They can also be used solely for parsing whatever protocol is in use (FIX, ITCH, etc..) and routing the decoded objects to a CPU for number crunching. They can of course be used for anything else but these two uses are what is most common now.


Only top voted, non community-wiki answers of a minimum length are eligible