Tag Info

Hot answers tagged

25

Column-oriented storage is faster for reading because of the cache efficiency. Looking at your sample query: select price, time from data where symbol = `AAPL Here I'm concerned with three columns: price, time, and symbol. If all ticks were stored by row, the database would have to read through all rows just to search for the symbols. It would look like ...


22

I am a big believer in do-it-yourself (DIY) backtesting and data analysis, that is, obtaining your own data and writing your own code. I use my own simple Python scripts to process, test, analyze, and backtest, starting with text-input data files (either OHLC bars or tick data). The reason for DIY: in order to have an effective backtest, analysis, etc., ...


17

I have long hungered for the ultimate, super-fast, super-scaleable data storage solution. I have used relational databases, kdb, flatfiles, and binary files. In the end, I used binary files in my research language of choice. My advice is to KISS. The choice of storage is actually not that critical (unless maybe you're working with options tick data). ...


13

Based on anecdata (conversations with other quants), not much. Banks develop their own models and if they do outsource the effort, they pay someone for the code + support (there are companies like Numerix or Pricing Partners which do that). QuantLib is criticized for being poorly documented and convoluted. My own observation is that the parts of QuantLib I ...


12

Some of us see this as a data-driven, empirical problem. And for Programming with Data, you could do a lot worse than picking R which was made for the task. The CRAN Task View on Finance lists a number of relevant packages. For trading strategies in particular, the quantstrat and blotter packages --which are both still on R-Forge in the TradeAnalytics ...


12

A few pointers: When I looked into this a few years ago, a good solution at the time was LIM's XMIM, which also has an S-Plus/Matlab interface. Whit Armstrong also provided an R package for this, although I don't know how complete it is. This provides both the data and the software for analysis. On the very high end (and expensive) side of the spectrum, ...


12

It's a very good and useful question. And it is bloody hard to answer just like many other questions relating to the proprietary nature of how banks and funds implement their core technology. A better route may be to ask on the QL lists, and/or to inquire as to who actually attented the first Quantlib forum in London last month. Another route would be to ...


11

Personally I make a distinction between two conflicting goals: (1) storing data incoming in real-time for immediate processing and (2) storing the gathered data for "offline" purposes. Such approach makes things a lot easier if we're talking about a home-grown solution. (1) must be as fast as possible but not necessarily scalable beyond a few dozen millions ...


11

Regarding your order management issue, every order should have a unique identifier that the user can reference; in FIX, this is the ClOrdID. The parameters of every order the user requests should be stored in a table keyed by this identifier. If your goal is to prevent duplicate orders from going out, consider having a trade volume limit per each symbol. ...


9

I don't know why it was removed, but the R package "orderbook" was available: http://journal.r-project.org/archive/2011-1/RJournal_2011-1_Kane~et~al.pdf http://cran.r-project.org/web/packages/orderbook/index.html In the IBrokers package, the function "reqMktDepth" is used for streaming order book data. ...


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

I develop strategies for a lot of these different platforms and the one that I feel offers the most is NinjaTrader. It uses C# which is a bit slower than MetaTrader, which if I remember correctly uses a variant of C++, in fact in MT5 there should be almost no difference. However, it makes up for the slowness in spades with the freedom it allows you. Not only ...


7

I do not know such a software - but we can think about the code. There are tow points which you have to define properly: which assets (correspondently, payoffs) are you allowed to replicate the complicated option? as barrycarter has already asked - what should be the form of the input? Further procedure should be quite easy. You are trying to find a ...


7

So one such visualization package is demonstrated in http://www.tradeworx.com/movie/booklet_demo/temp/booklet_demo2.mov. AFAICT it looks like a tk script. Trading Technologies (TT) sells another visualization tool. But TBH writing your own tool takes a few hours and allows you to focus on what information you are interested in finding.


7

There is a huge difference between R (and Matlab, SAS, or other statistical languages) and relatively low-level languages such as C/C++/C#/Java in exactly this regard. The latter category is used more often for stable end-products, where speed and performance can be crucial, whereas the former category is used more often for model testing and prototyping. ...


6

I have been using FastBit for a while now and find it to be quite performant. It's very non-intrusive to your existing binary storage format provided your data is stored in a columnar manner. I have briefly tested Tokyo/KyotoCabinet and didnt find it suitable for my (persistent storage) requirements.


6

This is the website to the R/Finance conference this year. Tons of great links. http://www.rinfinance.com/agenda/ Brian Peterson's slide (Building and Testing Quantitative Strategy Models in R) mentions Portfolio-Analytics (which I think is based on R/Metrics). And here is a paper based on Portfolio-Analytics. ...


6

The PortfolioAnalytics package will create weights without reference to current weights, if that's what you want. It should also have much of the reporting that you like from Rmetrics fPortfolio. There is a longer seminar presentation on Portfolioanalytics from 2010's R/Finance conference here: Complex Portfolio Optimization with Generalized Business ...


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

http://lobster.wiwi.hu-berlin.de/forum/viewtopic.php?f=4&t=30 R code, pictures and discussion, it's easy to modify it


5

You can try CrossOver Office or LibreOffice/OpenOffice Calc. And let me qualify that with: Don't go down the LibreOffice road, you run in al sorts of issues such as rounding errors and that one missing function and you will not get any support from your professor. On a personal note: During college I preferred to dual boot or use a VM.


5

One answer is to use R (see the Finance taskview http://cran.r-project.org/web/views/Finance.html ). In this case it does not work like Excel (and that's a good thing).


4

There is one more solution available now to backtest option strategies: www.oscreener.com! This tool allows to screen and backtest bull put spreads, long calls, short puts, debit spreads etc and validate these strategies in seconds.


4

Like @Pete mentioned; knowing what assumptions you are making in your testing and what impact those assumptions could have on your algorithm's results are one of the major drivers to rolling your own trading simulation engine. The framework listed below is based on daily bar needs. Your mileage may vary if you're focused on intra-day. Good data. If your ...


4

Check Noncommutative Geometry and Stochastic Calculus: Applications in Mathematical Finance


3

We use intensively MetaTrader but it has a lot of problems... we waste a lot of time with turnarounds and dirty tricks to make things work. Now we're moving some developments to Matlab because it is stable and great for quick prototiping, also you can use free software like Octave, R, Maxima and Sagemath (wich I think englobes all these others ...


3

I've never heard of it, but I've only been in the industry 2.5 years. Our C++ guys haven't even mentioned it either. They prefer using PACK/LAPACK which is mostly rooted in academia & heavily debugged. We also make heavy use of the IMSL FORTRAN libraries for hardcore statistical computation and Extreme Optimization (for .NET). One of our other ...


3

You need to track your current position for each stock in the software. You need a process to find out when an order is executed, and update your position for the appropriate stock. This process is separate from sending orders to the market.


3

Instead of sending orders each time condition is met, try to set "wanted holding" in the trade logic thread. Trade execution will then make sure (issue sufficient number of orders) to achieve your wanted holding.... For example, the first time signal happens, you sent wanted holding to 100 shares the next time it happens you only confirm that you want 100 ...



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