Tag Archives: technologies

C source code and research papers from Renaissance Technologies

No joke. C source code from a employee in 2001 in Ren tech. I also found a bunch of research papers from another researcher at the firm. This is of James Simmons fame

https://github.com/silpol/mrsync

https://captainyc.github.io/research.html

Just follow these research names of RenTech via Linked In. This shows what kind of projects they worked on before joining the hedge fund.

Tyler Olsen from MIT

https://github.com/tjolsen

 

also;

Blaze is an open-source, high-performance C++ math library for dense and sparse arithmetic. With its state-of-the-art Smart Expression Template implementation Blaze combines the elegance and ease of use of a domain-specific language with HPC-grade performance, making it one of the most intuitive and fastest C++ math libraries available. https://bitbucket.org/blaze-lib/blaze/src

 

Research

NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!

Inside the money machine: Renaissance Technologies

Inside the money machine: Renaissance Technologies

This is the closest you will ever get inside the highly secretive HFT firm

Sixty miles east of Wall Street, a spit of land shaped like a whale’s tail separates Long Island Sound and Conscience Bay. The mansions here, with their long, gated driveways and million-dollar views, are part of a hamlet called Old Field. Locals have another name for these moneyed lanes: the Renaissance Riviera.

To read the entire article, go to http://bloom.bg/2g8q2xB

Join my FREE newsletter learn how my automated trading will help me

NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!

Linked in Group for HFT technologies

Linked in Group for HFT technologies

This is quite for tutorials (not sure on commercial stuff)

Come on you cannot be cheap to this type of trading

https://www.linkedin.com/groups?gid=7443337&trk=vsrp_groups_res_name&trkInfo=VSRPsearchId%3A1919594121423151023843%2CVSRPtargetId%3A7443337%2CVSRPcmpt%3Aprimary

Join my FREE newsletter to learn more about HFT via algo trading

NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!

Is Microsoft technologies dead for trading and quant with advancements in R Python and Linux?

Is Microsoft technologies dead for trading and quant with advancements in R Python and Linux?

I know I know. Why would I say that? Good question but the next couple of weeks are completely exploratory. Talking to people in my webinar tonite lead me to be believe that Python is bigger than we know. Especially for those traders getting tossed out of their jobs from banks. They also recognize they need to learn to automate and program to see competetive in the world of modern day trading. Cave men will whine but let’s get real. In London for instance, there are tonnes of discussion with Python out there in the world of finance. It may have started in USA, but it is spreading. OK, yeh I pooed pooed in the past. Now that I got it up and running like here in Linux:

Breaking news New Ubuntu Linux environment with working Python on WIndows thanks to VMWare

Breakthru indeed! Now, is Microsoft dead with their technologies. Absolutely not, When you look at an incredible front end app like this

Infragistics has sexy DotNET WPF and Silverlight front end apps for trading platforms

WPF keeps them in the game and owning the desktop! As I investigate further in to other stacks like Java/Erlang/Python or R, it makes me wonder if this is the best. Maybe oy maybe. I don’t know, call me confused. This is why I am having all these webinar over the next few weeks. Also, you need to ask yourself this: Why is Microsoft finally open sourcing .NET int Linux via Mono? Is it really as fast. I kind of like to eliminate as many layer in my deployed system.

https://quantlabs.net/blog/2014/12/here-is-the-transcript-for-oh-me-oh-my-so-programming-languages-for-automated-trading-or-quant-meetup/

That is the stack of I am thinking. The database is the next part. Let me know what you think.

I still think you should own your own infrastructure for programmers.

Join my FREE newsletter to see which way I go

 

NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!

Renaissance Technologies was mentioned as one of the biggest HFT trading companies. What are their suspected technologies?

Renaissance Technologies was mentioned as one of the biggest HFT trading companies. What are their suspected technologies?

Renaissance Technologies Llc was mentioned as one of the biggest HFT trading companies in Irene Aldridges book on HFT. They were also ranked for #2 biggest hedge fund and best performing. I will be looking into their technologies by their hiring careers section. This may get interesting to watch,

https://www.renfund.com/vm/jobs.vm

http://www.hedgetracker.com/article/Top-200-Hedge-Fund-List-faces-Tumultuous-Quarter-Big-Gainers-and-Losers-Lead-the-Way

 

Programming Opportunity Experience with software development in a C++ Unix environment

Web Programming Opportunity

Required Skills:

  • Programming (Java, Python, JavaScript)
  • Mark-up (HTML, XML, CSS)
  • Web Servers and Frameworks (Apache, Tomcat, Wiki)
  • Databases (PostgreSQL, SQL Server, MySQL)
  • ORM Tools (Hibernate)
  • Operating Systems (Linux, Windows)
  • Excellent written and oral communication and interpersonal skills
  • Bachelor’s degree in Computer Science

So I suspect their main technologies is C++ in a Unix environment like Solaris.

 

Of course the job description don’t reveal much for secrecy.

 

NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!

What languages, technologies and concepts should I learn to help get into Algo / HFT / UHFT?

I’m a C# Developer in Derivatives IT at a Tier 1 Investment Bank. What languages, technologies and concepts should I learn to help get into Algo / HFT / UHFT?

Skills: C# 3.5, WPF, MVC3, Windows Server, HTML / CSS.

—–

there are few possible area where you can focus on OMS, EMS, HFT, UHFT, related to your skill set,
1: using C#, .net , win form, WPF etc you can build really nice fron end and which works really well on windows platform, same platform normally used by traders hence now a days architect prefer to build frontEnd of the system using above technologies.
2: Web Service [SOAP or REST]
2a: middle tier core engine generally build using java specific tech, java multithreads or C++, also good to know XML and XSL and SQL, good to have knowledge on algo’s try reading some books on Analysis of Algorithms
3: for Execution side: core Java, java multithreading and C++, havent seen great EMS build on C# yet., also you can learn FIX protocol, either you can fully get involved in writing EMS or you just stay at connectivity side,
4:back end side in-memory db or now a day’s IBM WebSphere eXtreme Scale is good.
5: common understading of business which comes w.r.t only,
6: so many things are available at algo or HFT/ UHFT, possibly you may end up by choosing something.

—–
Algorithmic Trading with Matlab
http://www.mathworks.com/matlabcentral/fileexchange/18854-algorithmic-trading-with-matlab

Automated Trading Language Documentation
http://www.mql5.com/en/docs

—–

I would also investigate R. I have just started to investigate this to develop some algorithmic trading models and so far I’m very impressed. Plus its free!

Depends what you want to do really, do you want to investigate and develop algorithms or write infrastructure to execute trades with existing algos? If the former then matlab or R would be your best port of call. If the latter, then C++, Multithreaded Java/C#, Fix protocol etc.. would be more applicable

—–

Call-and-return and OO code do not lend themselves to HFT due to limitations in parallel processing and pipelining. Although these coding paradigms can give you a basic understanding of algo’s, they would be substandard in application in comparison to FPGA’s and where the industry is (in my opinion) heading.

 

NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!

What Patterns/Technologies have people used to pass Trading Data between between the service layer and GUI later?

What Patterns/Technologies have people used to pass Trading Data between between the service layer and GUI later?

To explain a bit more….Assume you a building a Basket Trading application for 20+ users. This application must be able to view the basket and its related market data in realtime and also edit the basket and market orders in realtime.
The GUI will also need to display the PandL for the whole basket.
What patterns/technologies would you use to ensure that the GUI is kept up to date and that coomands are processed by the server layer efficiently?
I have seen many different approaches to this problem, but I’m interested to see what others have done or are planning to do.
Some more specific questions are:
1) How thin/thick do you make the client?
2) What kind of IPC technology is utilised?
3) Do you have dedicated GUI ‘server’ processes?
4) How to you deal with data sets that are too big to store on the Client
Its an open question, so hopefully this will provoke some discussion!

We (the company I am working for) used Microsoft CAB once. But good/old MVC will always do. Use a good pub/sub server with throttling capabilities, it is pointless to show all (e.g.) 1000 updates per second when the human eye can handle just 24 frames per sec. Subscribe only to the relevant topics. Message processing, calculations and drawing must be handled by different threads, ideally on separate CPU cores. If charting is essential and is very intensive, use a product that knows how to use GPU (and make GPU part of the hardware requirements). GUI side storage must be used only for performance reasons (like a cache), e.g. once unsubscribed from the topic – clean the relevant storage, this also means that if GUI crashes it must be possible to completely restore the state from the server. Never subscribe to the same topic multiple times, fake it like a “smart ptr with reference counting”. Never (or at least try not to) keep amended (by the user) values in the GUI once sent to the server (there is a risk they will not rich the server or the relevant server side component (UDP), or they will be superseded by the values from another user), amended values should come from the server (as a confirmation, if everything is fine and with no concurrency). All these, obviously, mean that point 4 is a tough question. Split the volume (if possible) so that part of it can be stored on GUI, and again treat this as a cache or implement something that will tell to the GUI when to update the content (e.g. user preferences/portfolio vs. standing data). Also, if you know the volume, use memory mapped files.

A parameter you need to consider which you don’t mention the deployment environment.

1) Is this a private application running running behind a fenced network or a web application exposed on a public network?
2) Is this going to be deployed on public or private cloud?
3) What platforms are you running and supporting; Window and/or iOS and/o rLinux)?

I like GWT as a technology for web based clients and have used it successfully for several web-service based applications. It provides great scalability client-> presentation->sevice tier abstractions and allows you to develop in a single language (java; compiling it to highly optimized platform dependent java script on the client.), which makes the code base easier to maintain.

Also pay attention to evolution of your code. Not all trading GUIs need be extremely efficient because almost always, throttling makes sense (assuming the server is processing the bulk of the logic). In that case, an efficient but iterative protocol like google protobufs can work.

 

  1. Assuming you are using java platform, i think a java web start client should be a good choice IMHO, i think pure web/ajax clients are cannot keep up with fast data exchange and rich interaction with users (eg: realtime charts)

    2. I think a message oriented architecture should be ok in this case; depending on your needs you could either use message broker (for example qpid) for everything or messages ( which are obviously asyncronous) for data push and web services for basket and order editing (syncronous); data inside messages/web services should be serialized with some serializing protocol; again if you use only java, you cuold pass transparently persistent objects from db-layer to gui and the other way round quite simply, for example using Hibernate (ORM/DB persistence), Spring (general purpose framework), Gilead (syncs persistent object between client and server) and Xstream (serializing libraries). If you are multi-platform, you could use protobuf but need some extra manual-step to make object “travel” across layers.

    3. I think the server should not contain any GUI logic, but exposes a reasonable series on services (accessible via messages or web-service)

    4. Service layer should have methods that return paginated data.—

We use FrozenMountian’s WebSync product to instantly communicate between client/server (and client/client). It is hosted in IIS and has been great. I don’t work for them, just really like their product. They have a free version to try out.
http://www.frozenmountain.com/websync/–

 

• Thanks for the comments so far – great stuff
Just to scope the requirements a bit – this will be an ‘internal’ application – i.e. no external clients.
There is no limit on platform types or use of clouds, languages etc
– although I’d be interested to see if cloud computing is applicable to a high frequency application such as this!

It depends on the performance requirements (e.g. latency). For instance Amazon Queue (http://aws.amazon.com/sqs/) has a latency of 1-10s (https://forums.aws.amazon.com/thread.jspa?threadID=58114). Clearly no acceptable if requirements say (e.g.) 0.5s

 

 

NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!

What Patterns/Technologies have people used to pass Trading Data between between the service layer and GUI later?

What Patterns/Technologies have people used to pass Trading Data between between the service layer and GUI later?

To explain a bit more….Assume you a building a Basket Trading application for 20+ users. This application must be able to view the basket and its related market data in realtime and also edit the basket and market orders in realtime.
The GUI will also need to display the PandL for the whole basket.
What patterns/technologies would you use to ensure that the GUI is kept up to date and that coomands are processed by the server layer efficiently?
I have seen many different approaches to this problem, but I’m interested to see what others have done or are planning to do.
Some more specific questions are:
1) How thin/thick do you make the client?
2) What kind of IPC technology is utilised?
3) Do you have dedicated GUI ‘server’ processes?
4) How to you deal with data sets that are too big to store on the Client
Its an open question, so hopefully this will provoke some discussion!

We (the company I am working for) used Microsoft CAB once. But good/old MVC will always do. Use a good pub/sub server with throttling capabilities, it is pointless to show all (e.g.) 1000 updates per second when the human eye can handle just 24 frames per sec. Subscribe only to the relevant topics. Message processing, calculations and drawing must be handled by different threads, ideally on separate CPU cores. If charting is essential and is very intensive, use a product that knows how to use GPU (and make GPU part of the hardware requirements). GUI side storage must be used only for performance reasons (like a cache), e.g. once unsubscribed from the topic – clean the relevant storage, this also means that if GUI crashes it must be possible to completely restore the state from the server. Never subscribe to the same topic multiple times, fake it like a “smart ptr with reference counting”. Never (or at least try not to) keep amended (by the user) values in the GUI once sent to the server (there is a risk they will not rich the server or the relevant server side component (UDP), or they will be superseded by the values from another user), amended values should come from the server (as a confirmation, if everything is fine and with no concurrency). All these, obviously, mean that point 4 is a tough question. Split the volume (if possible) so that part of it can be stored on GUI, and again treat this as a cache or implement something that will tell to the GUI when to update the content (e.g. user preferences/portfolio vs. standing data). Also, if you know the volume, use memory mapped files

 

NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!

My plan to get into 1 million plus quant jobs or consulting roles with technologies like C++, Matlab, .NET, Java, etc

My plan to get into 1 million plus quant jobs or consulting roles with technologies like C++, Matlab, .NET, Java, etc

I have had interviews at Bank of Montreal, Bloomberg, Citi, Morgan Stanley. I have come to the realization that I don’t want to be employed right now by these companies. They limit your growth and earning potential if you get good. I plan to go the quant route but for sure in a self employed route. Also, I want to build my architecture skills with the KDB, SQL Server/Sybase with CEP, C++, Matlab, and .NET. I also need to get a solid understanding of something like QuantLib and QuantLibXL for understanding the front end to this infrastructure. I am sure there would be some Marketcetera in there as well to understand how a HFT system works with something like the Strategy Agent to execute trades. It also has the QuickFix to understand the FIX protocol. It helps to learn Java here as well as it is built in Java.

If you get the understanding of all these tools and technologies, you should then focus on the quant building models/strategies within Matlab. It is great at prototyping. The other open source tools like Octave/Scilab don’t have the ease of use and extensibility you get with Matlab’s toolboxes. I am unsure of the compatibility of Matlab’s toolboxes with Octave/Scilab. To get the high paying quant jobs, you need to really beef up your quant modelling skills within something like Matlab.

Once achieved, you should be able to demand a very high paying six figure or even seven figure jobs with a profit share if you have a high Sharpe ratio profit and loss. This could take years of experience. Remember, going on this path may limit if you don’t have a CFA, Masters, or PHD. I have neither so I doubt a company may hire me. But after reading a Bloomberg article about Goldman Sachs’ hiring process, they just want someone with enthusiasm and willing to work hard. They seem not to care about age or degrees so I guess I would have a shot. I am sure all of the above could take years to achieve.

Let’s also be realistic. I may never even achieve or just get $80K a year. Who knows right?

NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!