FE595 Financial Technology (FinTech)



Course Catalog Description

Introduction

This course deals with networking and machine learning technologies underlying activities of markets, institutions and participants. The overall purpose is to give students a working understanding of a wide variety of the technological tools that permeate modern life. The successful student will be able to extend this knowledge, understand systems currently in place and use new developments in the field as they are created.


Campus Fall Spring Summer
On Campus X X
Web Campus X X

Instructors

Professor Email Office
Kenneth Blaney
kblaney@stevens.edu

kenneth.r.blaney@gmail.com

TBA

More Information

Course Description

Course Structure:

Meetings will be in person/streamed on Canvas, once per week. Recordings of these lectures will also be available online through Canvas. Lectures will focus on either understanding or implementing some element of technology. As this course is being given as both an in person and an online class, use of the discussion boards on Canvas for questions and answers is highly encouraged.

Assessments:

Assessments will be conducted through individual or group assignments. They will emphasize the need to communicate code clearly for collaboration or review. Students will become well versed in the use of GitHub for sharing code and managing versions. The intent of this structure is to mimic the basic structure one might encounter in industry where code bases will often be transferred from person to person as staff changes over time. As a result, there will be a focus on writing code that can be understood and maintained.


Grading

Grading Policies

The typical Stevens grading scheme for 500 level courses will apply to this class (of specific note: C minus, D plus and D all become F). All students are expected to abide by the Stevens Honor System, as they would in all classes. The final grade in the class will be determined in the following manner:

  • 25% Homework Assignments
  • 25% Midterm Project
  • 50% Final Project

As this is designed to be a project based course, there will be no in class examinations.

Percentages of points earned will be converted to letter grades as follows:

  • 90s - A
  • 80s – B
  • 70s – C
  • less than 70 – F

The high end of these ranges (except A and F) will earn a +. The low end of these ranges (except F) will earn a −.


Lecture Outline

Week Topic Reading
Week 1 Python Review/Intro to Git
  • Set up a Python3.6 development environment
  • Understand the structure of an OOP Python project
  • Know how to use Numpy, MatPlotLib, OpenCV, etc
  • First exposure to setting up a Git project
Week 2 AWS and GitHub
  • Become familiar with the command line in AWS
  • See how to use PuTTY to connect to an AWS instance
  • Learn how to deploy code from a Git project
Week 3 Flask and cURL
  • Add Flask to an existing Python project to make it available on the web
  • Understand the meaning and purpose of cURL calls
  • Learn to use the requests Python library (GET and POST)
  • Discussion about AWS Security Groups
Week 4 Webscraping
  • Introduction to HTML Templates
  • Learn to read HTML/URL encoding/etc
  • Use the request library to get information from an external source
  • Implement a data scraper
Week 5 Midterm
  • Create a Flask app that:
  • Uses a POST request to accomplish something
  • Uses a GET request to display the graph with an HTML render template
  • Is open source and available on Git
  • Is hosted on each team member’s AWS account
  • Has a README with instructions for deployment to AWS by someone who will NOT read your source code
Week 6 NLP
  • Introduction of the midterm project
  • Learn about NLTK and Textblob
  • Implement stemming, lemmatization and VADER/TextBlob Sentiment Analysis
Week 7 Math on words
  • Understand vector spaces
  • Using SpaCy for word vectorizations
  • Creating a classifier
Week 8 Graph Databases
  • Short description of SQL
  • Intro to Graph Theory
  • Creating a classifier
  • Setting up and connecting to Neo4J
  • Making a Neo4J request from Python
Week 9 Science Kit Learn
  • What is AI and ML?
  • Examination of the fit/predict archetype
  • Using fit/predict as Flask endpoints
Week 10 Science Kit Learn 2
  • sklearn’s toy data sets
  • Linear regression techniques
  • KMeans Clustering and the Elbow Heuristic
Week 11 What is a Neural Network?
  • A refresher on Linear Algebra
  • How prediction works
  • How learning works through back propagation
  • Sample Neural Networks for basic logic gates
Week 12 Using TensorFlow
  • Creating the structure of a Neural Network
  • Training and Testing
  • MNIST handwriting recognition with Dense Layers
Week 13 Docker and Containers
  • An explanation about Virtual Machines
  • What does Docker do?
  • Using docker-compose.yml to standardize deployment
Week 14 What is Blockchain?
  • What problem does block chain solve?
  • What is a hashing algorithm?
  • What is a digital signature?
  • How do we, theoretically, start our own cryptocurrency?