Showing posts with label projects. Show all posts
Showing posts with label projects. Show all posts

Saturday, November 15, 2014

Instructor Based Introductory Course To R - R for finance/ Analytics Online Course & Projects at qcfinance.in


COURSE LINK - Introduction to R

Course Highlights:
  1. No pre-knowledge of R required.
  2. Get started with Programming in R.
  3. Get Practical examples to understand better.
  4. Gives an Idea of it’s financial applications as well.
  5. Highly flexible and tailored according to individual needs.
  6. Contains perfect blend of theory and practice
  7. Gain confidence with R.
  8. 4 interactive classes with experienced teacher.
  9. Personalized approach.
  10. Flexible timings.


Now ask for as low as just one customized  session (1 hour) from qcfinance.in at $20.


Course Description:
One on One course Introductory course for R. 4 hours of basics of R to get you started in R. Flexible timings with personalized approach by Experienced Faculty. Online tests to prepare yourself better. This course will help you in:
  • Add to the profile by learning R.
  • Provides a base for learning advanced R.
  • Gives you a perfect platform for launching a career in R.
  • Gain the knowledge of  integration with excel  .

We use 2 pluggins -
1. XLconnect
2. Rexcel to connect excel & R
+we  also  give consultancy

Course Structure:
Class No.
Topics for CFA L1
Class duration
1
Installing R, Intro to R packages, R as calculator
1 hour
2
Matrix in R, Indexing in R, Intro to ARIMA, Regression in R
1 hour
3
Connecting R with Excel, Importing CSV, Input methods, connecting R with external sources feeds like QuantDL
1 hour
4
Revision/Doubt Clearing
1 hour



About the Author:

Shivgan Joshi
Indore, India
Shivgan Joshi holds a B.E. from Shri Vaishnav Institute of Technology, Indore & PGDF (Post Grad Diploma in Finance) from Business India Institute of Finance, New Delhi. Have worked extensively on VBA, MATLAB, R & others. He has cleared CFA Level 1 and FRM L1 and has scored 70% in BAT (in top 10 percentile globally approximately). He has taken more than 500 classes on GRE & GMAT preparations in last 1 year. He has published research papers in top journals like IEEE, LNCS Springer and more. He writes a popular blog: Stock Credit Finance CFA on Blogspot.com.

Guest Faculty: Nehal Jain
Nehal holds a B.E. degree in Electronics and Communication from IIST-II, Indore. Her key skills include R, MATLAB ,C , C++, Core Java and Advance Java.
Note: If you miss a scheduled one on one class, then don't worry, you can reschedule it at your convenient time & the missed class won't be counted. You may defer a class any number of time. Also, you get life time access to materials which gets constantly updated.

Contact Us: info@qcfinance.in
Skype Id: qcfinancein

Wednesday, August 22, 2012

R for Financial Engineering Course on Applying R in Quantitative Finance/ Analytics & Projects at qcfinance.in

R for Financial Engineering / Quantitative Finance


R is mix of MATLAB and SAS, if I relate to the other 2 tools used in Finance.
R is having mix of maths and data handling powers of SAS and given that it is open source and the best choice for research.

R is MATLAB when it comes to syntax.
When it comes to data handling it uses RMySQL in the very same way as SAS does.
Hence, it does things that SAS+MATLAB do for free.
SQL has inherent limitations of doing quant computations, and MATLAB is heave and requires too much resources. MATLAB is not very good to deal with SQL at system level.

But to start with, one also needs to know VBA for entry level and for easy task, VBA is preferred.


Divisions:
  1. 10 hours on handling data, functions, indexing, structures, data linkages, importing, SQL, etc
  2. 10 hours on Financial Commands, tools, pre-built libraries.


I will discuss in detail about R and its application in this post.

Keep checking it for updates.


Ref: R in a Nutshell

For getting some info you can join my MATLAB Course at:
http://stockcreditfinancecfa.blogspot.com/2012/07/50-hours-course-in-matlab-for-finance.html

Join our MATLAB for financial engineering course (http://www.wiziq.com/course/7225-matlab-for-financial-engineering) & get 15% discount. Ask for discount code, e-mail:- info@qcfinance.in.


Course based on:

http://www.unicom.co.uk/quant-finance/R-for-Finance.php

http://www.optirisk-systems.com/papers/FinancewithR.pdf

http://www.optirisk-systems.com/events/finance-with-r.asp

https://www.rmetrics.org/ebooks-basicr

http://www.r-bloggers.com/search/finance

http://www.rinfinance.com/RinFinance2009/presentations/ChicagoWuertz.pdf

http://blog.revolutionanalytics.com/2011/11/course-financial-data-modeling-and-analysis-in-r.html

http://braverock.com/brian/R/PerformanceAnalytics/html/PerformanceAnalytics-package.html

http://www.quantmod.com/documentation/00Index.html

http://tradeblotter.files.wordpress.com/2012/06/uw_r_seminar_may_2012.pdf


Introduction to R
  • Some background on R, how to obtain and how to install it.
  • R documentation and help and web resources available.
  • R Console and R GUI.
  • Data import, data types and variables.
  • Elementary import functions.
  • Data types.
  • Variable generation, inspection and modification.
  • Graphics in R.
  • Command "plot" and where to plot.
  • Setting the par.
  • High-level and low-level plotting functions legends.
  • Math in plots.  
  • Hands-on Session—data handling & graphics.
  • Simulations in R.
  • Simulating from given distributions.
  • Risk management basics.
  • Data Structures in R.
  • Review of types of objects.    
  • Additional object types.
  • Basics of the R Language. 
  • Conditionals & Loops. 
  • Writing R Functions: Basic functions.
  • Object-orientation.
  • Debugging.
  • Application in Finance.
  • Calculating Value at Risk.
  • Packages for Portfolio Optimization. 


Functions of R/R Commands to be covered in the course:
Caution: Always save workspace.
Use “c” when you want to use it a signal in black scholes formula.

read.table function will be used to get the data into R (/\ used opposite
than the one used in windows)
http://www.ats.ucla.edu/stat/r/faq/inputdata_R.htm.

Example 1
> test.txt <- read.table ("C:/Documents and Settings/shivbhakta.joshi/My
Documents/test.txt", header=T)
> print(test.txt)
> column <- test.txt[,c('make','price')].

Example 2
grb <- read.table ("C:/Documents and Settings/shivbhakta.joshi/My
Documents/GRB_afterglow.dat", header=T, skip=1)
x <- (grb[,1]).

Grabbing data from tables into a single dimensional array
x <- (grb[,1])
y <- log(grb[,1]).

Another way to create returns for stock daily return is
f=dft$age/dft$price (using dollar sign extraction)
Deleting column http://www.sr.bham.ac.uk/~ajrs/R/r-manipulate_data.html
> add <- add[-2] to delete the element 2nd
Adding data to array busing column command
> add <- c(1,d).


Using Data frames
Data.frame is used to combine the arrays back into table format
people = data.frame (x,y)
Write.CSV command executed
write.csv(people,"filename.csv")

grb <- read.table ("C:/Documents and Settings/satyadhar.joshi/My
Documents/GRB_afterglow.dat", header=T, skip=1)
x <- (grb[,1])
y <- log(grb[,1])
people = data.frame (x,y)
write.csv(people,"filename.csv")

These methods can be used to compute beta from columns of a csv file.


Working formula of Black Scholes
BS <-
function(S, K, T, r, sig, type="C"){
d1 <- (log(S/K) + (r + sig^2/2)*T) / (sig*sqrt(T))
d2 <- d1 - sig*sqrt(T)
if(type=="C"){
value <- S*pnorm(d1) - K*exp(-r*T)*pnorm(d2)
}
if(type=="P"){
value <- K*exp(-r*T)*pnorm(-d2) - S*pnorm(-d1)
}
return(value)
}

Black Scholes <- function(s, k, r=.1, t=5, sigma=.9,call=TRUE) {
#calculate call/put option
d1 <- (log(s/k)+(r+sigma^2/2)*t)/(sigma*sqrt(t))
d2 <- d1 - sigma * sqrt(t)
ifelse(call==TRUE,s*pnorm(d1) - k*exp(-r*t)*pnorm(d2),k*exp(-r*t)
* pnorm(-d2) - s*pnorm(-d1))
}


Predefined Black schools model:
http://shafik.net/~shafik/FinancialEngineering/Code/
black_scholes ("c",5600,5600,.1,.08,.22 )
this depicts use of functions in R.


Merton Distance to Default (different as per needs)
(modified from Black Scholes formula, still
unsure about pnorm() function)
d1 <- (log(s/k)+(sigma^2/2))/(sigma)
pnorm(d1)

3 files are needed to run the demos which are available on internet by various authors:
  1. black_scholes.R
  2. GRB_afterglow.dat
  3. test.txt.

ARIMA and Forecasting Using R

Commands:

library(Quandl)
> Quandl.auth("1LkmpypqJskJzKcpd2TV")

>stockData=Quandl("YAHOO/INDEX_GSPC", start_date="2004-01-01", end_date="2014-04-17")

stockData[,7]

// ran Arima here:
results2=arima(stockData[,7], order = c(3,0,0))

fit <- arima(myts, order=c(p, d, q)

fit <- arima(stockData[,7],order = c(3,0,0))

results=arima(stockData[,7])

fit <- arima(stockData[,7],order = c(3,0,0))

predict(arima(stockData[,7], order = c(3,0,0))

results=arima(stockData[,7])

x2=(forecast(fit, 100))

plot(x2).


Excel and R:
http://rcom.univie.ac.at/download.html#statconnDCOM
http://www.r-bloggers.com/a-million-ways-to-connect-r-and-excel/
http://cran.r-project.org/web/packages/XLConnect/vignettes/XLConnect.pdf
http://cran.r-project.org/web/packages/XLConnect/XLConnect.pdf
https://stat.ethz.ch/R-manual/R-patched/library/base/html/getwd.html


Playing with arrays and matrix
http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-do-my-matrices-lose-dimensions_003f
https://stat.ethz.ch/pipermail/r-help/2008-February/154088.html
http://stat.ethz.ch/R-manual/R-devel/library/base/html/rev.html.

ARIMA and Predict statement
http://stat.ethz.ch/R-manual/R-patched/library/stats/html/predict.arima.html
http://people.duke.edu/~rnau/411arim.htm
http://www.statmethods.net/advstats/timeseries.html
http://stackoverflow.com/questions/14272937/time-series-prediction-using-r
http://www.inside-r.org/packages/cran/forecast/docs/forecast.Arima.

Market check
http://www.bloomberg.com/quote/SPX:IND/chart.

Other good References
http://heather.cs.ucdavis.edu/~matloff/132/NSPpart.pdf.


One on One Customized Training:
qcfinance.in believes in personalized touch so that our clients are completely satisfied with our service. In this regard, we offer One on One Customized Training to our clients.
These Trainings are provided on request by our clients & are customized according to their individual needs.
The course structure & timings for these training are highly flexible, classes are scheduled as per the convenience of our clients. 

Contact Us for More details: info@qcfinance.in.