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/...


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 ...


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

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 ...


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

Choice of Contracts Having traded Nikkei 225 futures, you usually have three choices for futures contracts: JPY-denominated contracts (full or mini) traded on JPX (historically, the Osaka Exchange, hence the OSE above); JPY-denominated contracts (full or mini) traded on the SGX (historically SIMEX, the first Nikkei 225 index futures); or, USD- (full) or JPY-...


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

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 ...


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 ...


1

This is likely attributable to one of a couple things: (1) Your portfolio size for the top/bottom set are on the small side. If you broke the SP500 into quintiles by performance, made top (100) your top portfolio, bottom (100) your bottom portfolio, you're likely to see a more interesting result. (2) As an addendum to (1), your mixed portfolio probably ...


1

You can use in IB market scanner, hot contracts by volume - you have this also in the api. today'sVolume/avgDailyVolume is highest - for hot contracts by volume avgDailyVolume is a 30-day exponential moving average of the contract's daily volume. This is for the entire day, but I don't see something to calculate for 1min, 3 min, or 5 min. Did you find ...


1

For backtesting, through interpolation, take the mean of day before and day after. But note, you may want to flag that security as having interpolated data. If you're missing more than one day, just assume linear and interpolate accordingly. As others have stated, this is super risky because it may lull you into a false sense of security, but for back ...


1

The key question to ask is: Can you act on it if you were trading live? Both Antoine and Norgate's responses are correct in that respect. You can't trade on holidays, nor can you trade on an interpolated price. Both are imaginary events that you can't experience if you were actually live. Similarly: IBM stock stopped trading when U.S.'s antitrust inquiry ...


1

Each security has its own set of trading days on which the market is open for trading. For stocks, typically this excludes weekends (Note: NYSE traded on Saturdays until Sep 1952) and also excludes designated public holidays. There are some extraordinary events that also affect weather the market is open - in recent times these are weather or terrorist-...


1

I don't know about the others,but the base for Bloomberg is about 1200/month before any useful real-time data.


1

Your source is not particularly clear about why what they're doing is a Z-score. To give some background, what they're doing is calculating $$\frac{R-\mu_{R}}{\sigma_{R}}$$ where R is the number of runs and the mean and standard deviation are of the number of runs. It's really more of a test statistic than a Z-score per se. The denominator in their formula ...


1

I don't know if there is a standard way of solving the problem, but I solve it thus: Strategy A bought for $C_a$ dollars and sold for $S_a$ dollars for a result of $R_a = S_a - C_a$ over $T_a$ days. Strategy B bought for $C_b$ dollars and sold for $S_b$ dollars for a result of $R_b = S_b - C_b$ over $T_b$ days. Where $C_a$ and $C_b$ is the total sum of ...


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.


1

I think the problem is not that you optimize a wrong criterion, but the trading strategy itself. Compare this to testing a hypothesis: if you reject at p-value of 1% then the proportion of true discoveries among all discoveries is, say, 70% (high "expectancy"). If you reject at 10% then the true discovery proportion is 40% (lower "expectancy"), but you make ...


1

Use your total wealth allocated to the trades as denominator. Total wealth allocated would include all collateral. In this way you (or your broker) make sure that the denominator is always positive. Presumably this would also reflect what you really want to track. The only problem that remains is what amount of your wealth needs to be allocated. But this is ...


1

Your problem going into maximize trading capital using 3 strategies. Optimal scenario should use all available capital for 3 strategies, in way that when only 1 strategy trading then using all available capital, when second trying to create trade while first taken all capital, then half of capital can be moved from 1 strategy to cover 2 strategy trades or ...


1

I have a cumulative profit/loss time series below for a trading strategy, what is the appropriate way to calculate the returns in percentage for such a series? Correct me if I am wrong, but it seems to me there is no such thing as return for P&L. Your series contains net income which itself is a return. You could calculate the ralative change for your ...


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