1 option
Financial Data Science with Python : An Integrated Approach to Analysis, Modeling, and Machine Learning.
- Format:
- Book
- Author/Creator:
- Chen, Haojun.
- Language:
- English
- Physical Description:
- 1 online resource (278 pages)
- Edition:
- 1st ed.
- Place of Publication:
- New York : Business Expert Press, 2025.
- Summary:
- In today's finance industry, data-driven decision-making is essential. Financial Data Science with Python: An Integrated Approach to Analysis, Modeling, and Machine Learning bridges the gap between traditional finance and modern data science, offering a comprehensive guide for students, analysts, and professionals. This book equips readers with the tools to analyze complex financial data, build predictive models, and apply machine learning techniques to real-world financial challenges. Beginning with foundational Python concepts, the author covers essential topics like data structures, object-oriented programming, and key libraries such as NumPy and Pandas. The book advances into more complex areas, including financial data processing, time series analysis with ARIMA and GARCH models, and both supervised and unsupervised machine learning methods tailored to finance. Practical techniques like regression, classification, and clustering are explored in a financial context. A key feature is the hands-on approach. Through real-world examples, projects, and exercises, readers will apply Python to tasks like risk assessment, market forecasting, and financial pattern recognition. All code examples are provided in Jupyter Notebooks, enhancing interactivity. Whether you're a student building foundational skills, a financial analyst enhancing technical expertise, or a professional staying competitive in a data-driven industry, this book offers the knowledge and tools to succeed in financial data science.
- Contents:
- Front cover
- Half title
- Title
- Copyright
- Description
- Contents
- Preface
- Key Features of This Book
- Guide for Readers
- Code Reference
- Steps to use the Notebook
- Structure of the Book
- End-of-Chapter Exercises
- CHAPTER 1 Introduction to Python Programming
- 1.1 Why Python for Finance?
- 1.1.1 Real-World Applications
- 1.2 Setting up Your Python Environment
- What Does It Mean to "Install Python"?
- What Is a Python Version?
- Why Focus on Python 3.12?
- What to Be Aware of When Using Other Versions
- 1.2.1 Using Jupyter Notebook as Your Python IDE
- Different Types of Cells in Jupyter Notebook
- 1.3 Basic Syntax and Commands
- Python Commands
- Conclusion
- CHAPTER 2 Python Programming Fundamentals
- 2.1 Data Types and Variables
- 2.1.1 Understanding Variables as Pointers in Python
- 2.1.2 Variable Creation
- 2.2.1 Numbers, Strings, and Booleans
- Numbers
- F-Strings: Formatted String Literals
- 2.2.2 Type Conversion
- Dynamically Typed Versus Statically Typed Languages
- 2.3 Control Structures: Conditionals and Loops
- 2.3.1 If Statements
- 2.3.2 For and While Loops
- Infinite Loops
- 2.4 Functions and Modules
- 2.4.1 Defining and Calling Functions
- Default Parameters in a Function
- Function Scope
- Types of Scope
- 2.4.2 Importing and Using Modules
- Installing New Modules Through Anaconda
- Installing New Modules Through pip
- Importing and Using Modules in Python
- How Python Finds Modules
- 2.5 Python Exceptions
- 2.5.1 Exception Handling With try and Except Blocks
- Exercises
- CHAPTER 3 Data Structures in Python
- 3.1 Lists
- 3.1.1 Creating List Objects
- 3.1.2 Accessing List Elements
- 3.1.3 Altering List Elements
- Adding Elements
- Removing Elements
- 3.2 Tuples
- 3.2.1 Creating Tuple Objects
- Using the Tuple() Constructor.
- 3.2.2 Accessing Tuple Elements
- Indexing and Slicing
- 3.2.3 Altering Tuple Elements (Concatenation, Exclusion)
- Concatenation
- Exclusion
- Using Tuples for Functions With Multiple Return Values
- 3.3 Dictionaries
- 3.3.1 Creating Dictionary Objects
- 3.3.2 Accessing Dictionary Elements
- 3.3.3 Altering Dictionary Elements (Modifying, Adding, Removing)
- Modifying Elements
- 3.4 Sets
- 3.4.1 Creating Set Objects
- 3.4.2 Accessing Set Elements
- 3.4.3 Altering Set Elements (Modifying, Adding, Removing)
- 3.4.4 Set Operations
- Union
- Difference (- Operator)
- Intersection
- Symmetric Difference
- 3.5 Built-in Methods for Iterables
- TypeError
- CHAPTER 4 Objects and Classes in Python
- 4.1 Introduction to OOP
- 4.1.1 The Basic Structure of OOP
- Classes and Objects
- 4.1.2 The Basic Principle of OOP
- The Self Parameter
- 4.2 Class Instances
- Public Attributes
- Private Attributes
- 4.3 Class Inheritance
- Basic Syntax of Inheritance
- Polymorphism in Action
- 4.4 Examining Built-in Classes
- Using Built-in Functions to Examine Classes
- 4.5 Examining External Classes
- Moving Forward
- Part 1: Define the Base Class
- Part 2: Create a Subclass
- Part 3: Test your Code
- CHAPTER 5 NumPy for Financial Computation
- 5.1 Introduction to NumPy
- Introduction to Array
- Comparing NumPy Arrays With Lists
- 5.2 Creating and Manipulating Arrays
- Creating Arrays
- Reshaping Arrays
- Accessing Elements and Slicing
- 5.3 Mathematical Operations With NumPy
- 5.3.1 Basic Arithmetic Operations
- Vectorized Operations
- Broadcasting
- Aggregation Functions
- Example: Calculating Weighted Returns
- 5.4 Using NumPy for Financial Calculations
- 5.4.1 Financial Functions in NumPy.
- Net Present Value (NPV)
- Calculate IRR
- Future Value (FV)
- Payment (PMT)
- CHAPTER 6 Financial Data Processing With Pandas
- 6.1 Introduction to Pandas
- 6.2 Introduction to Series
- The Roles of Indexes of Pandas Data Object
- 6.2.1 Creating and Accessing Pandas Series
- Specifying the Index and Data Type
- 6.2.2 Data Type Specification in Pandas
- Common Data Types in Pandas
- 6.2.3 Accessing Series
- Using Label/Index
- List of Labels
- Boolean Array
- 6.2.4 Reassigning or Adding Entries to a Series
- Reassigning Entries
- Adding New Entries
- 6.3 Introduction to DataFrame
- DataFrame Structure Diagram
- 6.3.1 Creating DataFrame
- From a Dictionary
- Setting Row, Column, and Data Type
- Import From a File
- 6.3.2 Accessing DataFrame
- Accessing Columns
- Accessing Rows
- Accessors With Indexes and Slices
- 6.3.3 Modifying Series and DataFrame
- Changing Index and Column Labels
- Changing Data Entries
- Removing and Adding Data Entries
- Dropping Entries From a DataFrame
- Adding Entries to DataFrame
- Adding New Rows and Columns With Concat (Pandas.concat)
- 6.4 Operations With Series and DataFrame
- Element-Wise Operations
- Aggregation Methods
- Element-Wise Operations: 'Apply' and 'Map'
- The Update Function
- 6.5 Data Cleaning and Filtering
- Converting Data Using to_numeric Function (Pandas.to_numeric)
- Marking Invalid Entries
- Dropping NA Entries
- Conditional Filtering
- CHAPTER 7 Principle of Statistics for Financial Data Science
- 7.1 Introduction to Financial Statistics
- Introduction to Computer Simulation
- 7.2 Probability Distributions
- 7.2.1 Review of Common Probability Distribution in Finance
- Uniform Distribution
- Binomial Distribution
- Lognormal Distribution
- F Distribution.
- 7.2.2 Probability Distributions Using Python
- 7.3 Descriptive Statistics
- 7.3.1 Review of Common Descriptive Statistics
- Sample Mean
- Sample Median
- Sample Standard Deviation (std)
- Sample Skewness
- Sample Kurtosis
- 7.3.2 Calculating Descriptive Statistics
- 7.4 Statistical Estimators
- Randomness
- Accuracy (Unbiasness)
- Preciseness (Reliability)
- Consistency
- Selecting Estimators
- 7.4.1 Evaluating Estimators
- 7.4.2 Eye-Balling Analysis
- 7.4.3 Asymptotic Analysis
- Complex Estimators
- 7.5 Hypothesis Testing
- Major Steps
- Test Statistic
- The p-Value
- 7.5.1 One-Sample and Two-Sample t-Test
- Type I and Type II Errors and Power of Hypothesis Testing
- 7.5.2 Power Analysis
- 7.5.3 Testing the Relationship
- Formulating Hypothesis
- Perform Hypothesis Testing
- 7.5.4 Power Plot
- 7.6 Nonparametric Statistics
- Applications and Benefits
- 7.6.1 Nonparametric Versions of Analysis
- Wilcoxon Signed-Rank Test
- Two-Sample Wilcoxon Signed-Rank Test
- Spearman Rank-Order Test
- Further Exploration
- Exercise
- CHAPTER 8 Financial Time Series Analysis
- 8.1 Financial Time Series Data
- 8.2 Manipulating Time Serie Data With Pandas
- pd.DatetimeIndex
- Time Series DataFrame
- 8.3 Handling and Manipulating Time Series Data
- Resampling and Frequency Conversion
- Time Series Indexing and Slicing
- Reindexing Time Series Data
- Time-Shifting in Time Series Data
- Time-Rolling and Expanding in Time Series Data
- Time-Expanding (Expanding Window Statistics)
- Managing Missing Values in Time Series Data
- Filling the NA Values
- 8.4 Time Series Analysis
- 8.4.1 Components of Time Series Data
- How These Components Aid Financial Decision Making
- 8.4.2 Stationarity Analysis
- Mathematical Definition of Stationarity
- Test for Stationarity
- Converting Nonstationary Series.
- 8.4.3 Seasonal Decomposition
- 8.4.4 Autoregressive Analysis
- ACF Versus PACF
- Identifying Significant Lags
- ACF/PACF Plot
- 8.4.5 ARIMA Model
- Prediction With ARIMA
- 8.4.6 GRACH Model
- Implementation of GARCH Model
- Predicting Variance With GARCH
- 8.4.7 Cointegration Model for Lead-lag Relationship
- Steps to Perform Cointegration Analysis
- CHAPTER 9 Data Visualization
- 9.1 Plotting With Matplotlib
- 9.1.1 Basic Plotting
- 9.1.2 Building Subplot
- 9.1.3 Customizing Plots
- 9.1.4 Other Commonly Used Plots
- Histogram
- Scatter Plot
- Box Plot
- 9.2 Advanced Visualization With Seaborn
- Distribution Plot
- Kernel Density Estimate
- Pair Plot
- Heatmap
- 9.3 Interactive Visualizations
- 9.3.1 Building Interactable Plots With plotly
- Basic Line Plot With plotly
- 9.3.2 Animated Plot
- CHAPTER 10 Financial Modeling With OOP
- Introduction
- 10.1 Object-Oriented Modeling for Fixed-Income Securities
- 10.1.1 Introduction to Fixed-Income Securities
- Interest Rate, Yield Rate and Discount Rate
- Yield Curve
- 10.1.2 Model Construction Under OOP Framework
- Step 1: Creating the Parent Class
- Basic Attributes
- Methods
- Step 2: Creating the Bond Subclass
- Fixed-Rate Bond
- Year Conventions in Finance
- Accrued Interest Calculation
- Clean and Dirty Prices
- Net Present Value
- Duration
- 10.2 Model Testing and Analysis
- Testing Zero-Bond Model
- Testing Fixed-Rate Bond Model I: Constant Yield
- Testing Fixed-Rate Bond Model II: Nonconstant Yield
- Testing Float-Rate Bond Model
- CHAPTER 11 Introduction to Machine Learning
- What Is Machine Learning?
- 11.1 Comparing Machine Learning With Traditional Quantitative Methods
- 11.2 Overview of Model Training
- Loss Function
- 11.3 Data Preparation.
- Training, Validation, and Test Sets.
- Notes:
- Description based on publisher supplied metadata and other sources.
- ISBN:
- 1-63742-826-X
- OCLC:
- 1518284443
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.