# Tag Info

17

EDF Trading uses it (or used it): http://cufp.org/videos/scala-edf-trading-implementing-domain-specific-language-derivative-p In general, many financial institutions use functional programming languages. Andrei is correct in that they often are used to develop domain-specific languages (DSLs). Some examples: Credit Suisse uses F# ...

13

Q: How do strategies deal with corporate actions? A: Very carefully. Jokes aside, it is not trivial, and the answer depends on what you want to do with the data. Yahoo provides adjusted stock prices/returns for splits/mergers/dividend, as explained by Shane. The resulting time series is not very useful for predictive and risk management purposes. ...

12

We can play these language wars until pigs fly, but there are a few very basic things that most people agree on: As has already been said, C++ is the standard language where performance is really important (and Java comes in second). An example of how this shows up: C++ is taught in the Wilmott quant finance certificate and in MFE programs. It also ...

12

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

8

Some LinkedIn groups are particularily adequate to post these questions. Your question has already been asked in "Automated Trading Strategies" at this URL: Seeking input on QuantFactory, Deltix and 4thStory: Professional end-to-end Automated Trading Solutions. Feel free to let us know the state of your research.

8

If what you're worried about is being accused of backdating, then you could try timestamping your articles by some trusted third party. This way you can certify that a document/article was created before a certain date and wasn't modified further on (so in this situation that you've come up with some conclusion/investment decision in the real past). In case ...

8

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

7

Occam's Razor: Setup a facebook account, or a twitter account, and post your trade recommendations there. They are time/date stamped, easily accessible to others, and cannot be backdated.

7

My company currently uses Scala for all new projects in algorithmic trading. We also have an internal portfolio management / monitoring application written in Scala (with Circumflex web framework).

7

DSpace@MIT - High frequency trading system design and process management (non-printable) This thesis provides a detailed study composed of high frequency trading system design, system modeling and principles, and processes management for system development. Particular emphasis is given to backtesting and optimization, which are considered the most ...

7

I believe the concept you are looking for without really knowing it is the information coefficient (IC). IC is the correlation between your forecast and actual subsequent returns. If your IC is 1 (perfect correlation, also known in this context as perfect foresight), then your maximum return is the compounded sum of the greatest daily return of any stock ...

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

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

6

My primary recommendation is: "eat your own dogfood". You can then share an actual track record. And have your trades audited by a third party. One good example of this in the quant blogsphere is MarketSci (Michael Stokes), and I don't think that you could go wrong by following his example. He uses TimerTrac (mentioned by @bill_080) for some of the ...

6

For third party tracking of trades, try these guys: https://www.timertrac.com/Public/Default.asp

6

There is no need to complicate things: ... d = getBdepth(); d = getOdepth(); // for the calls below pos == 0 means the best bid/offer p = getB(int pos); // bid price at pos p = getO(int pos); // offer price at pos q = getBq(int pos); // bid quantity at pos q = getOq(int pos);// offer quantity at pos Note that the above API is not the best choice if your ...

6

Empirics should count for something, and the (awesome) Language Shootout does show that C++ still very clearly dominates Scala in execution time and memory use -- though Scala looks better in code size. Shops that have existing investment in Java like Scala as a next-generation Java given that the latter hasn't moved all that much of late. I also heard ...

5

One thing I can think of: On your blog/newletter, offer to send daily email updates of your results to them. That way no one can say that you backdate results, or otherwise altered results. And I'm sure everyone will appreciate your keeping things honest.

5

The best way to do it is by getting an internship as an entry level analyst or some sort. They do not necessary expect you to know computational finance(they will teach you), though you need to be bright, have an outstanding academic record, and of course, good communication skills. As you get in there, you can then ask around about the specifics of what you ...

5

Another possibility is to analyze the equity curve itself so as to go live with the system when good performance is expected and to either reduce risk or just paper trade when performance is expected to be negative. Are a series of positive returns followed by negative returns (i.e. is there mean reversion)? Does a trend-following "meta-system" and/or a ...

5

You can take a corporate action and look at a price before/after the event. In general, this simply means applying a series of multiplicative or additive factors. As an example, with a $2:1$ stock split, the price following the event will be $1/2$ what it was prior to the split. If you want to see the prices as they were before then you need to multiply ...

5

Yes, it's used. However its purpose for now is mainly limited by creation of Domain Specific Languages for prototyping because of easy integration with existing infrastructure in Java. Here Scala also competes with another JVM based language - Groovy and F# because of its relatively easy interaction with Excel.

5

Additionally I would recommend Evidence-based technical analysis by David Aronson It explains the whole process (including the complete statistical background) of rigorously setting up the basis for your trading system. See for a short summary of important points here: CXO Advisory See for a review here (including some practical advice and programs how ...

5

In addition to Chan's Quantitative Trading, I have also found the description of trading systems in Rishi Narang's Inside the Black Box to be informative and interesting. There are a few chapters there that give some details on system development, but they are very broad overviews.

5

I don't think that it is a real applicable trading system but it is more general work concerning the connection between chaos and financial markets. A good starting point is this (relatively recent) article: http://deepeco.ucsd.edu/~george/publications/08_ecology_bankers.pdf You can find his publications here: http://sio.ucsd.edu/Profile/gsugihara#pubs

5

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

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

I just finished "High-Frequency Trading: A Practical Guide to Algorithmic Strategies and Trading Systems" by Irene Aldridge -- I think it provides a very good overview of HFT, considerations of different aspects of trading systems, and good introductions to many formulas and research.

4

To the best of my knowledge, there is no Scala implementation of execution platforms. C/C++ is still the language of choice for mission-critical financial applications, followed by Java, for those more recent shops that didn't have the burden of much legacy C++ code. I cannot imagine Scala taking hold, given that is slower and not nearly as robust as C++ and ...

4

Be careful when you optimize the exit parameters (and any other parameter) as you could get better results in backtest that will only be due to over fitting. IF you haven't done that yetn use In and Out sample to verify your improvements. After that you can try to build entry filters. In my experience trend following usually have bigger drawdowns than mean ...

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