Building a Forex Trading Platform Using Kafka, Storm and Cassandra
insightdataengineering.com
insightdataengineering.com
It could be considered paranoid and jingoistic, so I apologize in advance to all the great Russian hackers out there.
Does anyone know anything about MetaQuotes (the maker of MetaTrader)? They're a trusted solution provider to many of the biggest banks in the world, and yet in my experience it's difficult to find anything about them online (the company, not the software).
I know it's a broad stereotype, but many Russian companies don't have the best reputations when it comes to business ethics. It's an open secret that many of the top oligarchs formed more or less a kleptocracy with the Putin administration, and that the rule of law is pretty shoddy when it comes to Western companies or individuals seeking justice.
Traders all over the world plug in their algorithms in plain text right into MetaTrader. Realistically, do they have anything to worry about, or am I being completely paranoid?
I don't mean to disparage MetaQuotes. As I said, I don't know anything about them, and they partner with big financial institutions all over the world. Many of these companies provide customized versions of MetaTrader, so I would imagine they might have access to some or all of the MetaTrader source code. I guess I'm just looking to be reassured.
What steps could a trader take on any platform in order to reduce exposure to potential bad actors? Is using an API from a broker the only solution?
Anyway, again my apologies if I offended anyone.
Update: their Wikipedia page has a few more articles on them than I remembered. Also, technically they are registered in Cyprus, but were founded in and are primarily based in Russia. Still, I'd love to hear people's thoughts on this issue:
There was a huge scandal because it was revealed that MetaQuotes implemented a function to forcefully cause disruption in the orders that were coming in. This function would be used by brokers to forcefully widen the spread at any given time. I remembered a lot of traders, myself included, just completely lost trust in retail forex. It was nothing but a sham.
Sure, there are 4 trillion reasons why this is enough and yes, I know it's very much about traders themselves, and that if there were an incentive to change it probably would change pretty fast, but anything that stops on the weekend seems very silly in the 21st century. (Even EVE Online's daily downtime is a bit ridiculous.)
"individual investors only have a few simple tools at their disposal, e.g., Meta Trader or Ninja Trader"
Both meta trader and Ninja trader have powerful event-based scripting languages (MQL5 [1] and NinjaScript [2]) with a solid library of charts, strategies, indicators and order execution. More than that, they have a huge community providing all kinds of services around those platforms[3][4]
Other than that, Wolf seems like a nice piece of software.
[1] http://www.mql5.com/en/docs
[2] http://www.ninjatrader.com/support/helpGuides/nt7/
[3] http://www.mql5.com/en/signals/mt5
[4] http://www.metatrader5.com/en/automated-trading/mql5market
Trading for most prosumers is a vanity hobby, though they don't know it.
I've assumed only outright ticks, hence the 40 pairs - in reality most banks store the crosses as well, which can be up to 1,600 pairs (40 x 40), which will get you into the PB range for the 40 years.
(1 + 4 * 10) * 8 = 328 bytes
per tick, so 1KB isn't far off. Obviously not every level changes on every tick, so there are opportunities for compression, that can be significant.Note that the "tick data" from histdata.com gives you prices sampled every 1 second (so not every tick) for the top level of the order book, and doesn't give you any size information at all.
A great alternative is finance.yahoo.com. It is reasonably rate limited, see http://stackoverflow.com/questions/9346582/what-is-the-query.... You won't be able to do any high-frequency trading anyway without dedicated hardware in a dedicated data center.
Yes, and you are shut out of that market unless you're on the interbank (which generally means you are an actual bank). Retail forex "markets" are bucket shops that get first look at all their customer bids. The actual forex market is OTC.
http://www.ecnforex.co.uk/interbank-forex-markets-explained/
Trading retail forex is a mug's game.
There are some EAs for MetaTrader that will check if your broker is manipulating your SL/TP and stop the trade. Also if you're a medium/long term trader then it doesn't really matter what your broker does.
It suggests to deploy modules on different machines, but you could probably try this out on 3-4 VMs (use SSDs).
There are rather simple deployment scripts (it uses apt-get, so get Ubuntu VMs), for some of the modules.
Set up a Hadoop cluster (HDFS, Hive, Camus) use YARN, you can run Storm on it, but there is a deployment (install & run) script for running Storm standalone (with a standalone Zookeeper node).
So, it's a lot of work, but sounds really interesting, fun and immensely didactive!
It's a proof of concept in distributed systems engineering.
Edit: Oh boy - the all-I-wanna-be-is-rich egotistical nerds downvoted me. My soul is crushed.