COMP2022 Programming for FinTech Applications
Spring 2019
Professor: Dr. Grace Wang
Agenda
qIntroducing the teaching crew
qSurvey results
qCourse structure and policy qComparing the programming languages qBasic data processing concepts
1
The teaching crew
qProfessor: Dr. Grace Guiling Wang, PhD, CFA
§ Ph.D. in Computer Science and Engineering, the Pennsylvania State University, 2006
Minor in Statistics
§ Chartered Financial Analyst (CFA)
§ Tenured Full Professor of Computer Science and School of Management, NJIT, USA, 2016- present
§ Tenured Associate Professor at NJIT, USA, 2011-2016
§ Tenure-track Assistant Professor at New Jersey Institute of Technology (NJIT), USA,
2006-2011
§ Visiting Professor, PolyU, Fall 2019- Spring 2020
§ Visiting Professor, Harvard University, 2012
§ Visiting Scholar, TFHRC research center, 2013
1-3
The teaching crew
qMy goal: maximize your learning outcome and increase your competence in the job market.
qContact information
§Professor: Dr. Grace Guiling Wang, PhD, CFA
üEmail: grace-guiling.wang@polyu.edu.hk
üOffice: PQ733
§Teaching Assistant: Yiqian Chen, PhD candidate
üEmail: channing.chen@connect.polyu.hk üOffice: TBD
1-4
2
Agenda
qIntroducing the teaching crew
qSurvey results
qCourse structure and policy qComparing the programming languages qBasic data processing concepts
qMajority of you have some programming background, so I wont spend much time on the basic concepts about programming
3
qI assume everyone uses Excel before
What is your expectation about the class? What is your goal to achieve in the class?
Come up with a Stock Analysis application that helps gather relevant information from various sources and generate appropriate analysis for decision making
Learn more about the application of VBA , and programming knowledge which is related to data analysis such as Python, Matlab, and R.
Get familiar with those language (usable on work)
learn different skills and get some tips of programming and achieve a great result.
analyse the data to solve the financial problem
Learn more about programming
I do not have too much of Fintech knowledge. Hope that I can keep up with the study progress and learn more Fintech knowledge in this course. Thanks.
I hope I can learn how to analyse data(stock) by using programming language. Also… I am interested in blockchain. I hope I can learn some programming about Blockchain. Thxxx
Get a good grade. to familiar with the languages that i am going to learn.
i hope i can understand what the class is teaching
learn how to bulid a financial AI
know more about programming
Learn how to protect data
1. Good grade/Pass
2. Learn different technical skills
Learn R, Matlab and Python. The goal is to pass this subject and have a good grade
To facilitate our learning, is it possible to upload all the ppt on the blackboard. It helps us to have the basic understanding before stating online class. thanks!
Study more program
improve programming technique
Learn more about programming language
can learn more useful skills
I hope it can equip us enough skills to work for intern.
Can learn more knowledge about business application
learn more practical skills
Data analysis
Participate in class more
Learn more about data analysis and FinTech application
Learning new programming language and learn how to applicate IT knowledge on financial aspect.
I hope I can learn more programming
Be familiar with programming
To learn more about fintech
R and matlab
4
Agenda
qIntroducing the teaching crew
qSurvey results
qCourse structure and policy qComparing the programming languages qBasic data processing concepts
What is this course about?
qTitle: Programming for FinTech Applications
qEssentially this is a programming course § Programming is a core skill of CS students §Excel; Matlab;R; Python
§ What about coding?
üWrite code; debug
üLearn to search for solution
qIn the context of financial applications
§ Mainly data processing and analytics, e.g., stock price analysis § Basic finance background will be covered whenever needed
5
Course objectives
qAccording to the course description: the objectives of this subject are to
§introduce to students about common programming techniques
§equip students with skills to quickly develop small programs to process and analyze data
§allow students to practice with data processing and analysis for FinTech applications.
qIn one word, CODING, CODING, CODING!
1-11
Intended learning outcomes
qAcademic knowledge and skills
§ (a) understand the concept behind programming, independent of the
programming language;
§ (b) be able to develop small programs to process and analyze data; and
§ (c) be able to apply programming skills to address more realistic problems arising from FinTech applications.
qAttributes for all-roundness
§ work in a team to solve problems in FinTech to a larger scale
6
Grading
qTotal 100. Only if you get 50+, can you pass the class
qGrading is based on the relative performance in the class
qGeneral rule: among those who pass 50, A+ 0/1/2; A <=15%; B+<=20%; B<=20%; C+<=20%; C<=20%; D+<=5%; D<=5%
qThe application of the rule is based on the professor’s discretionary judgement
Group projects
10%
Quiz
40%
Final exam
45%
Class participation/in-class performance and behavior
5%
1-13
Class attendance/in-class performance and behavior: 5%
qAttendance is taken; participation is required, e.g., participation in surveys/feedbacks.
qBehavior: Turn off your cell phone or set it to be silent. Do not disturb your classmates during the class time.
qActive class participation is strongly encouraged and may get bonus
1-14
7
Grouping
qStudents are divided into groups in week 2 so you help each other. If you make efforts to improve, no one should leave the class without necessary programming skill.
qGroups and discussion boards will be created after week 2 on Blackboard.
qBased on the questionnaire, TA will divide you into groups. Basically every group will have some who never do programming before and some are familiar with basic programming concepts.
qIt is strongly encouraged that group members work together and help each other.
Group project (10%)
qNote that one learning outcome is “work in a team to solve problems in FinTech to a larger scale”
qEach group will be assigned a different project. Group will bid the topic and assignment is based on FCFS.
qGroup members will report their individual contributions to the project.
8
Quiz (40%)
qNo midterm
qExcel: 1 quiz
qR: 1-2 quiz
qMatlab: 1 quiz
qPython: 1-2 quiz
qMake sure you always keep with the class progress.
The exam format of both quiz and final
qNo paper exam.
qGiven one or multiple problems, in front of a computer, do coding to solve the problem on spot. Submit the code and running result. TA will rerun your code and check the results.
9
Textbook
qWe will cover 4 programming languages.
qTextbooks are expensive. Programming books quickly go out of date,
so we won’t follow any specific textbook. qI will provide online materials.
Finally Administrative details
qCheck course emails regularly qStop me if you have questions
qProfessor’s online office hour before March break
§ 11:00am-12:00pm on Monday through Blackboard Collaborate § Email: grace-guiling.wang@polyu.edu.hk
qTA’s office hour before March break
§ 11:00am-12:00pm on Wednesday through Blackboard Collaborate § Email: channing.chen@connect.polyu.hk
1-20
10
Announcement
qNot an easy class. A lot of work to do! qBut you will learn a lot.
qLet us work hard!
Agenda
qIntroducing the teaching crew
qSurvey results
qCourse structure and policy qComparing the programming languages qBasic data processing concepts
11
Covered languages
qRequired by the course description: Excel, Matlab, R
qI want to add: Python considering the course is Programming of FinTech
Applications Source: stackshare
Comparing R, Matlab, and Python
12
Agenda
qIntroducing the teaching crew
qSurvey results
qCourse structure and policy qComparing the programming languages qBasic data processing concepts
Time series data
qA time series is a series of data points indexed (or listed or graphed) in time order.
§E.g., daily stock price
qApplications: identify trend; future prediction; identify abnormality qHow to explore the data?
§Trend:
üExample indicators: Moving averages (SMA or EMA)
§ Variance:
üExample indicators: Bollinger bands
13
Regression
qIn statistical modeling, regression analysis is a set of statistical processes for estimating the relationships between a dependent variable (often called the 'outcome variable') and one or
more independent variables(often called 'predictors', 'covariates', or 'features’).
qExamples:
§ What is the relationship between SP500 index with commodity price and
central bank interest rate?
§ What is the relationship between house price and mortgage interest rate, GDP, and employment rate?
§ What is the relationship between Apple’s stock price and its P/E value?
14
Cross-sectional analysis
qCross-sectional data, in statistics and econometrics, is a type of data collected
by observing many subjects (such as individuals, firms, countries, or regions) at the one point or period of time. The analysis might also have no regard to differences in time. Analysis of cross-sectional data usually consists of comparing the differences among selected subjects
qIn Finance, Cross-sectional analysis is a type of analysis where an investor, analyst or portfolio manager compares a particular company to its industry peers.
Statistical measures
qMean
qMedian
qVariance = sum(xi – mean) ^2/n
qStandard deviation =
§ sqrt (sum(xi-mean)^2/(n-1)) § sqrt (sum(xi-mean)^2/n))
qCovariance = sum(xi - x_mean)(yi – y_mean)/(n-1)
§ a measure of the joint variability of two random variables
15
Next week
qExcel and VBA qHomework 1
16