• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

I build and want to Maintain an EC2 ubuntu image for solely QUANT usage! Pls help.

Hi All,

I have an idea to build and maintain a quant image on EC2 for quant usage, a linux, with all the tools a quant ever needs to perform any quant-related work you want - A dedicated intance for every quant at fingertip when you have an quant idea and want to try it or test it. Any thoughts are highly appreciated, or maybe someone already done this, if it is, pls let me know where to look at.

I do this for two main reasons:
1. I'd love to have an all-in-one toolbox for quant.
2. It builds up skills required at work, I saw many JDs require knowledge of C++, bash script, python, ruby,perl. I think by working with an linux terminal I can learn a LOT of them.

Below is what I have achieved so far,

1. working R installed and Rstudio server.
2. Able to use X11 forwarding via SSH to launch IB gateway from Interactive brokers on my laptop,
I am looking for a way to run IB gateway independently on the server so when SSH is dropped, the gateway is still running.

I am trying to make above two works, so I can access R from a web broswer and using pakcage "IBroker" to run sim trading with IB API.
 
Hey guys, I found a good way. Just using vnc4server , it will open an clean x11 with a terminal upon connection. I am trying to open IB gateway via java command.
 

alain

Older and Wiser
Hey guys, I found a good way. Just using vnc4server , it will open an clean x11 with a terminal upon connection. I am trying to open IB gateway via java command.
use NX. I use Open NX on the client all the time.

http://opennx.net/

you will need the NX server installed as well:

https://help.ubuntu.com/community/FreeNX

You can use NomachineNX as well but there was a problem when working on Mac OSX Lion. Maybe it is fixed now.

https://help.ubuntu.com/community/NomachineNX
 
Why would you base it on Ubuntu ? Maybe you could use a more scientific-oriented distro ?

Because ubuntu is free under amazon free tier for one year, also, you can not install any distro you want, you can only choose one from the list if Im right. Many packages are easy to obtain using pkg manager such as yum,apt-get etc. Others can be built from source. I mentioned above that it helps me to learn from all this steps like build release from source, configure via editing bash script etc.
 
Hey guys, Bingo!

I got rstudio server and IB gateway running on the server perfectly. Now I can use R and IB api from a web browser from anywhere.

Do you use R for IB trading? Is there any other good way? because R can be slow, Is there any semifinished program for IB api or the only way other than R is using java api to write your own code.

Maybe I should install a matlab, but isn't that too big and memory consuming? Maybe I should just stick with C++ and built using g++ for everything.
 
I'm not sure these skills will be useful, except if you aim for IT positions. If I were you, I'd rather build financial knowledge.

Hi you are right. For IT guru, knowledge about finance is at top list, but I am just the opposite, I did finance for undergraduate and Financial Math for MSc. When I try to look for a job involving computing and finance, these skills are somewhat makes me in competitive. I am not bad at programming and computing, just need more practice and experiences with some real project will get me prepared. Seriously, I need to do a project which implements financial idea to real trading programs, I will start this by using R, since it connects to IB API.
 

alain

Older and Wiser
Hi, VNC looks great. Is there any advantages of NX over VNC?
There are technically 2 different things. VNC takes over the machine itself. NX creates a session, like an X session into the machine so multiple users can be using the machine at the same time. Also NX is fast. I haven't compared it to VNC directly but it's definitely way faster that regular X.
 

alain

Older and Wiser
Maybe I should install a matlab...

I'm sure you bought your copy of Matlab and you use it now on a separate computer (different from Amazon). I'm not sure if you will be violating their license if you install on a different machine and use the copies at the same time.
 

Yike Lu

Finder of biased coins.
Don't install MATLAB, their DRM is based on MAC address, which changes every time you reboot your instance.
 
There are technically 2 different things. VNC takes over the machine itself. NX creates a session, like an X session into the machine so multiple users can be using the machine at the same time. Also NX is fast. I haven't compared it to VNC directly but it's definitely way faster that regular X.


Does it close the application if you close the NX session? I want to open an java app but I do not want it to be closed upon NX disconnection.
 
I'm sure you bought your copy of Matlab and you use it now on a separate computer (different from Amazon). I'm not sure if you will be violating their license if you install on a different machine and use the copies at the same time.

I will not install MATLAB because of its pricing, besides, I do not own a UNIX version of it. I prefer to use C++ and compile it using g++, since I want to practice C++. But so far, R + IB gateway working perfectly on my server. And maybe I should start practicing C++ by writing some function in C and port it to R.
 

alain

Older and Wiser
Does it close the application if you close the NX session? I want to open an java app but I do not want it to be closed upon NX disconnection.
The session remains active even if you close the client unless you explicitly terminate the session. I usually disconnect the client without terminating the session.
 
I realize this thread is over a year old but I really like the idea of building a quant-related Linux distro/Live CD. What's cool is the idea that whatever aspect of quant programming you are interested in learning, if you have this CD and boot it up, you can hit the ground running in a nice pre-made environment.

One thing I'd like to add to the discussion: Rather than trying to deal with MATLAB, why not install Octave? It's open source and is a MATLAB work-alike plus it's a fairly mature product.
 
Top