Financial professionals, in my view, are just bunch of people involved in creating securities, selling them, and buying these securities. They can simply be divided into two camps – sell side and buy side – with sell-side doing the securitization and selling part, while the buy side primarily performing the purchasing job. Notice it is so broad to include commercial banks but more relevant to financial activities we normally refer to.
On the buy side, majorities are traditional asset managers running mutual funds, pension funds, endowment funds, insurance assets etc., hedge fund comes in as a minority cluster, however, hedge funds attract more attention, if not higher reputation in terms of their incredible return generation and impact in the financial market.
The main difference between the traditional fund and the hedge fund is on regulation – the former gets a higher level of regulation and the latter has more wiggle room in terms of regulatory stringency. As its name conveys, the hedge fund managers are supposed and allowed to use hedging strategies to maximize return/risk profile. For risk tolerance’ sake, mass investors usually have access to mutual funds, but not to hedge funds, unless they are wealthy enough a surpass a high threshold (usually in millions of dollars) set by the government.
Quants are a niche group in the Hedge Fund industry, and it’s doing enormously well and hence growing up rapidly since its advent about 60 years ago.
So who are the quants? Most people would overly simplify them to high-frequency traders, as is famously written in the book – flash boy, the high-frequency traders employ algorithms to trade ahead of the herd by mili-second, making a tiny profit in each and every execution, accumulated to a large sum virtually without any risk. These high-frequency traders certainly are quants, however, quants contain a broader number of people. According to Quora, ‘quant’ refers to someone who designs and/or implements mathematical models to price derivatives, build portfolios, assess risk or predict market movements. There are various different flavors:
1) Desk quants build models to price complicated financial securities, for example, derivatives or bond portfolios. They write programs which calculate an optimum price and typically give some idea of the risk involved.
2) Model validation quants test and validate the output of the desk quants.
3) Research quants are conducting blue sky research into new pricing or risk assessment techniques. There aren’t many of these.
4) Risk quants are concerned with modeling the level of risk due to the bank’s positions, including risk due to adverse market moves and due to credit exposure.
5) Algorithmic trading quants write programs which buy and sell assets directly. Sometimes these are proprietary strategies trading on external markets, and sometimes they are making markets for the bank’s clients.
6) Quant developers are expert programmers who implement the models designed by other kinds of quants or provide a framework so other quants can implement the models themselves.*( https://www.quora.com/What-is-the-meaning-of-the-term-Quant)
Mathematical model certainly need data to build upon on. Before we dive into data itself, we shall learn the infrastructure or platform that quants work on daily. The conventional way to store data is relational database management system (RDBMS), so SQL (structured query language) is a must-learn skillset to query the database. There are a variety of RDBMS such as Oracle, MSSQL, Microsoft, and Postgres etc. Mysql and Postgres are free but may be less stable or well-maintained as those paid systems. The syntax of all these SQLs is pretty similar and straight forward to get a hang on.
As can expect from the names, RDBMS is structured and there is limitation associated. With the exponentially growing amount of data each day, most of them are disparate, unstructured text information, relational SQL database is more and more inadequate to accommodate to the date storing and processing needs. Now there is a new database system NoSQL, which is carried out in Apache Cassandra. A wide range of applications of NoSQL include: Internet of Things (IOT), social media analytics and recommendations. It was created in 60s and prospered along the web2.0 companies such as Facebook, Amazon etc.
On top of data content stored via SQL or NoSQL framework, the quants need other tools to construct her model and implement the strategy based upon on the data. A wide variety of programming languages including Python, C, C++, C#, Java, SAS, SPSS, Metlab, R statistical programming etc. are set to satisfy this need.
To learn SQL, the best website is http://www.w3schools.com/, which not only explains clearly of basic commands like Select, Join, concepts like primary keys, data types, but also provide a sample table and a “Run SQL” functionality to have the learner try it on.
The R language is widely used among statisticians and data miners for developing statistical software and data analysis. Its popularity has increased substantially in data analysts community because it is purposely designed to statistical data analysis easy to conduct. The downside is that it’s not a machine friendly language, hence it’s slower in execution; however, for most purposes, the latency is neglectable.
Text editors and Integrated development environments (IDEs) with some support for R include: ConTEXT, Eclipse (StatET), Emacs (Emacs Speaks Statistics), LyX (modules for knitr and Sweave), Vim, jEdit, Kate, Revolution R Enterprise DevelopR (part of Revolution R Enterprise), RStudio, Sublime Text, TextMate, Atom, WinEdt (R Package RWinEdt), Tinn-R, Notepad++ and  Architect. (Wikipedia: https://en.wikipedia.org/wiki/R_(programming_language). RStudio is quite handy and thus extensively adopted. The installation can be done following https://www.rstudio.com/products/rstudio/download/
The basic package in R is powerful to manipulate tabular format of datafeed, what’s more, R is open-sourced and there are lots of free packaged developed and posted for sophisticated purpose such as:
- (“stringr”)# For string functions
- (RPostgreSQL)# For access to PostgreSQL database system
- (“plyr”)#For the function arrange
- (“PerformanceAnalytics”) # For performance and risk analysis
- (“psych”)# For Psychological, Psychometric, and Personality Research
- (“reshape2”)# For data reshape using melt and cast
- (“quantmod”)# For quantitative financial modelling framework
- (“ggplot2”)# Grammar of graphics
- (“timeDate”)# Rmetrics for chronological and calendar objects
- (“lubridate”) # Lubricate data processing
- (“gdata”)# To read excel files
- (“zoo”)# For time series calculations
- (“xts”)# Extending zoo package for a uniform handling of R’s different time-based data classes
- (“timeSeries”)# Rmetrics for Financial Time Series objects
- (“data.table”) # Extension of data.frame for fast indexing
- (“TTR”)# Functions and data to construct technical trading rules with R
- (“shiny”)#Web Application Framework for R
A complete list of packages supported by CRAN (the Comprehensive R Archive Network) can be found: http://cran.r-project.org/web/packages/.
I found it is important to grasp basic functions included in R basic package (http://stat.ethz.ch/R-manual/R-devel/library/base/html/00Index.html), then explore two other sites for further understanding: http://www.cookbook-r.com/Manipulating_data/ & http://adv-r.had.co.nz/