Skip to content

Commit

Permalink
Features:
Browse files Browse the repository at this point in the history
	- Risk Index Momentum Factor CRSP (1, 2)
	- Investing Factors Factor Model Shell (4, 5)
	- Investing Factors Factor Model - Code (6, 7)
	- Investing Factors Factor Model - Description (8, 9)
	- Investing Factors Factor Model - Set (10, 11)
	- Investing Factors Factor Model - Constructor (12, 13, 14)
	- Investing Factors Factor Model - Map (15, 16)
	- Investing Factors Factor Model - Add (17, 18, 19)
	- Investing Factors Factor Model - Contains (20, 21)
	- Investing Factors Factor Model - Set (22, 23)
	- Investing Factors Factor Model - Code Set (24, 25)
	- Investing Risk Index Market Factor (26, 27)
	- Investing Risk Index Market Factor - Constructor (28, 29, 30)
	- Investing Factor Component Loading Category (31, 32)


Bug Fixes/Re-organization:

	- Eliminate Factor Index Category #1 (33, 34)
	- Eliminate Factor Index Category #2 (35, 36)
	- Special Function Lanczos Estimator (37, 38, 39)
	- Special Function Lanczos Estimator - A Series (40, 41)
	- Special Function Lanczos Estimator - Constructor (42, 43)
	- Special Function Lanczos Estimator - Evaluate (44, 45, 46)
	- Special Function Lanczos Estimator - Series Estimate Native (47)
	- Special Function Log Gamma Binet Integral First Kind Estimator (48, 49, 50)
	- Special Function Log Gamma Binet Integral First Kind Estimator - Constructor (51)
	- Special Function Log Gamma Binet Integral First Kind Estimator - Evaluate (52, 53, 54)
	- Special Function Log Gamma Binet Integral Second Kind Estimator (55, 56)
	- Special Function Log Gamma Binet Integral Second Kind Estimator - Constructor (57)
	- Special Function Log Gamma Binet Integral Second Kind Estimator - Evaluate (58, 59, 60)


Samples:

IdeaDRIP:

	- Factor Investing SKU v0.04 - 08:47 28 Feb 2024 (3)
  • Loading branch information
Lakshmik committed Feb 28, 2024
1 parent 4955b3f commit e5ee1ac
Show file tree
Hide file tree
Showing 15 changed files with 672 additions and 123 deletions.
39 changes: 39 additions & 0 deletions IdeaDRIP/FactorInvesting/FI_v0.03
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@

Factor Investing
----------------
1) Security Characteristics - aka Factors: Size, Low-volatility, Value, Momentum, Asset growth, Profitability, Leverage, Liquidity, Term, Carry - DONE
2) Beta Tilt Direction - Towards (+ve), Away (-ve)
3) Risk Premia Category - Corporates, Govvies, Equity, Commodities - DONE
4) Value Factor - Difference between Intrinsic/Fundamental Value and Market Value - DONE
5) Value Factor Metrics - P/E Ratio, P/B Ratio, P/S Ratio, Dividend Yield - DONE
6) Low-volatility Factor - Portfolio acquires only low-volatility assets - DONE
7) Momentum Factor - High returns over past 3-12 months minus Low returns over past 3-12 months, Returns Horizon, Momentum Lag - DONE
8) Momentum Factor caused by seasonality (e.g., January effect) - DONE

Fama-French Three-Factor Model
------------------------------
1) Three Factors - Market Excess Return, Outperformance of Small versus Big Cap, Outperformance of High/low book-to-market (value)
2) Market Factor - PRESENT/ABSENT
3) Accounting Manipulation Proxy Factor - Replacement for the Value Factor
4) CAPM - Single Factor, i.e., Market Factor
5) Factor Component Loading - Weight, Returns, Score, Category - DONE
6) Portfolio Type - Zero Investment or Zero Cost (Self Financing) - DONE
7) Factor Portfolio - Asset Map of Factor Component Loading, Country, Is Global, Portfolio Type - DONE
8) Factor Portfolio Ranker - Factor Component Loading vs Score Ordered Map, Component Ranking Scheme, Re-ranked Components, Top List, Bottom List, Weight Sign - DONE
9) Factor - Code, Description, Metric Type, Factor Portfolio - DONE
10) Factor Model - Model Code, Model Description, Collection of Factors
11) Asset Factor Loading - Factor Returns, Factor, Asset Factor Beta, Beta Tilt Direction
12) Factor Regressor - Asset Specification - DONE
13) Risk Free Setting - Instrument (Treasury/LIBOR/OIS/SOFR), Tenor (e.g., 3M), Rate
14) Factor Regressor Output - Collection of Asset Factor Loading, Factor Risk Free Premia, Alpha, Asset Returns, Asset Risk Premia
15) Factor Regressor Function - Apply Risk Free Setting to Factor Regressor to generate Factor Regressor Output
16) CAPM One-Factor Model - Market Factor
17) Fama-French Three-Factor Model - Market Factor, Size Factor, Value Factor
18) Mramor-Pahor Three-Factor Model - Market Factor, Size Factor, Accounting Manipulation Proxy Factor
19) Fama-French Five-Factor Model - Market Factor, Size Factor, Value Factor, Profitability Factor, Investing Factor

Carhart Four-Factor Model
------------------------------
1) Four Factors - Market Excess Return, Outperformance of Small versus Big Cap, Outperformance of High/low book-to-market (value), Momentum Factor
2) Market Portfolio Name - CRSP - DONE
3) MOM Portfolio Name - UMD 12M winners minus 12M losers - DONE
39 changes: 39 additions & 0 deletions IdeaDRIP/FactorInvesting/FI_v0.04
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@

Factor Investing - DONE
-----------------------
-----------------------
1) Security Characteristics - aka Factors: Size, Low-volatility, Value, Momentum, Asset growth, Profitability, Leverage, Liquidity, Term, Carry - DONE
2) Risk Premia Category - Corporates, Govvies, Equity, Commodities - DONE
3) Value Factor - Difference between Intrinsic/Fundamental Value and Market Value - DONE
4) Value Factor Metrics - P/E Ratio, P/B Ratio, P/S Ratio, Dividend Yield - DONE
5) Low-volatility Factor - Portfolio acquires only low-volatility assets - DONE
6) Momentum Factor - High returns over past 3-12 months minus Low returns over past 3-12 months, Returns Horizon, Momentum Lag - DONE
7) Momentum Factor caused by seasonality (e.g., January effect) - DONE

Fama-French Three-Factor Model
------------------------------
1) Three Factors - Market Excess Return, Outperformance of Small versus Big Cap, Outperformance of High/low book-to-market (value)
2) Market Factor - PRESENT/ABSENT - DONE
3) Accounting Manipulation Proxy Factor - Replacement for the Value Factor
4) CAPM - Single Factor, i.e., Market Factor
5) Factor Component Loading - Weight, Returns, Score, Category - DONE
6) Portfolio Type - Zero Investment or Zero Cost (Self Financing) - DONE
7) Factor Portfolio - Asset Map of Factor Component Loading, Country, Is Global, Portfolio Type - DONE
8) Factor Portfolio Ranker - Factor Component Loading vs Score Ordered Map, Component Ranking Scheme, Re-ranked Components, Top List, Bottom List, Weight Sign - DONE
9) Factor - Code, Description, Metric Type, Factor Portfolio - DONE
10) Factor Model - Model Code, Model Description, Collection of Factors - DONE
11) Asset Factor Loading - Factor Returns, Factor, Asset Factor Beta, Beta Tilt Direction
12) Factor Regressor - Asset Specification - DONE
13) Risk Free Setting - Instrument (Treasury/LIBOR/OIS/SOFR), Tenor (e.g., 3M), Rate
14) Factor Regressor Output - Collection of Asset Factor Loading, Factor Risk Free Premia, Alpha, Asset Returns, Asset Risk Premia
15) Factor Regressor Function - Apply Risk Free Setting to Factor Regressor to generate Factor Regressor Output
16) CAPM One-Factor Model - Market Factor
17) Fama-French Three-Factor Model - Market Factor, Size Factor, Value Factor
18) Mramor-Pahor Three-Factor Model - Market Factor, Size Factor, Accounting Manipulation Proxy Factor
19) Fama-French Five-Factor Model - Market Factor, Size Factor, Value Factor, Profitability Factor, Investing Factor

Carhart Four-Factor Model
------------------------------
1) Four Factors - Market Excess Return, Outperformance of Small versus Big Cap, Outperformance of High/low book-to-market (value), Momentum Factor
2) Market Portfolio Name - CRSP - DONE
3) MOM Portfolio Name - UMD 12M winners minus 12M losers - DONE
39 changes: 39 additions & 0 deletions IdeaDRIP/FactorInvesting/FI_v0.05
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@

Factor Investing - DONE
-----------------------
-----------------------
1) Security Characteristics - aka Factors: Size, Low-volatility, Value, Momentum, Asset growth, Profitability, Leverage, Liquidity, Term, Carry - DONE
2) Risk Premia Category - Corporates, Govvies, Equity, Commodities - DONE
3) Value Factor - Difference between Intrinsic/Fundamental Value and Market Value - DONE
4) Value Factor Metrics - P/E Ratio, P/B Ratio, P/S Ratio, Dividend Yield - DONE
5) Low-volatility Factor - Portfolio acquires only low-volatility assets - DONE
6) Momentum Factor - High returns over past 3-12 months minus Low returns over past 3-12 months, Returns Horizon, Momentum Lag - DONE
7) Momentum Factor caused by seasonality (e.g., January effect) - DONE

Fama-French Three-Factor Model
------------------------------
1) Three Factors - Market Excess Return, Outperformance of Small versus Big Cap, Outperformance of High/low book-to-market (value)
2) Market Factor - PRESENT/ABSENT - DONE
3) Accounting Manipulation Proxy Factor - Replacement for the Value Factor
4) CAPM - Single Factor, i.e., Market Factor
5) Factor Component Loading - Weight, Returns, Score, Category - DONE
6) Portfolio Type - Zero Investment or Zero Cost (Self Financing) - DONE
7) Factor Portfolio - Asset Map of Factor Component Loading, Country, Is Global, Portfolio Type - DONE
8) Factor Portfolio Ranker - Factor Component Loading vs Score Ordered Map, Component Ranking Scheme, Re-ranked Components, Top List, Bottom List, Weight Sign - DONE
9) Factor - Code, Description, Metric Type, Factor Portfolio - DONE
10) Factor Model - Model Code, Model Description, Collection of Factors - DONE
11) Asset Factor Loading - Factor Returns, Factor, Asset Factor Beta, Beta Tilt Direction
12) Factor Regressor - Asset Specification - DONE
13) Risk Free Setting - Instrument (Treasury/LIBOR/OIS/SOFR), Tenor (e.g., 3M), Rate
14) Factor Regressor Output - Collection of Asset Factor Loading, Factor Risk Free Premia, Alpha, Asset Returns, Asset Risk Premia
15) Factor Regressor Function - Apply Risk Free Setting to Factor Regressor to generate Factor Regressor Output
16) CAPM One-Factor Model - Market Factor
17) Fama-French Three-Factor Model - Market Factor, Size Factor, Value Factor
18) Mramor-Pahor Three-Factor Model - Market Factor, Size Factor, Accounting Manipulation Proxy Factor
19) Fama-French Five-Factor Model - Market Factor, Size Factor, Value Factor, Profitability Factor, Investing Factor

Carhart Four-Factor Model
------------------------------
1) Four Factors - Market Excess Return, Outperformance of Small versus Big Cap, Outperformance of High/low book-to-market (value), Momentum Factor
2) Market Portfolio Name - CRSP - DONE
3) MOM Portfolio Name - UMD 12M winners minus 12M losers - DONE
41 changes: 41 additions & 0 deletions ReleaseNotes/08_10_2023.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@

Features:

- Risk Index Momentum Factor CRSP (1, 2)
- Investing Factors Factor Model Shell (4, 5)
- Investing Factors Factor Model - Code (6, 7)
- Investing Factors Factor Model - Description (8, 9)
- Investing Factors Factor Model - Set (10, 11)
- Investing Factors Factor Model - Constructor (12, 13, 14)
- Investing Factors Factor Model - Map (15, 16)
- Investing Factors Factor Model - Add (17, 18, 19)
- Investing Factors Factor Model - Contains (20, 21)
- Investing Factors Factor Model - Set (22, 23)
- Investing Factors Factor Model - Code Set (24, 25)
- Investing Risk Index Market Factor (26, 27)
- Investing Risk Index Market Factor - Constructor (28, 29, 30)
- Investing Factor Component Loading Category (31, 32)


Bug Fixes/Re-organization:

- Eliminate Factor Index Category #1 (33, 34)
- Eliminate Factor Index Category #2 (35, 36)
- Special Function Lanczos Estimator (37, 38, 39)
- Special Function Lanczos Estimator - A Series (40, 41)
- Special Function Lanczos Estimator - Constructor (42, 43)
- Special Function Lanczos Estimator - Evaluate (44, 45, 46)
- Special Function Lanczos Estimator - Series Estimate Native (47)
- Special Function Log Gamma Binet Integral First Kind Estimator (48, 49, 50)
- Special Function Log Gamma Binet Integral First Kind Estimator - Constructor (51)
- Special Function Log Gamma Binet Integral First Kind Estimator - Evaluate (52, 53, 54)
- Special Function Log Gamma Binet Integral Second Kind Estimator (55, 56)
- Special Function Log Gamma Binet Integral Second Kind Estimator - Constructor (57)
- Special Function Log Gamma Binet Integral Second Kind Estimator - Evaluate (58, 59, 60)


Samples:

IdeaDRIP:

- Factor Investing SKU v0.04 - 08:47 28 Feb 2024 (3)
Binary file modified ScheduleSheet.xlsx
Binary file not shown.
15 changes: 0 additions & 15 deletions src/main/java/org/drip/investing/factors/Factor.java
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,6 @@ public abstract class Factor
private String _description = "";
private FactorPortfolio _portfolio = null;
private int _metricType = Integer.MIN_VALUE;
private int _factorCategory = Integer.MIN_VALUE;
private FactorPortfolioRanker _portfolioRanker = null;

/**
Expand All @@ -127,7 +126,6 @@ public abstract class Factor
* @param code Factor Code
* @param description Factor Description
* @param metricType Factor Metric Type
* @param factorCategory Factor Category
* @param portfolio Factor Portfolio
* @param portfolioRanker Factor Portfolio Ranker
*
Expand All @@ -138,7 +136,6 @@ protected Factor (
final String code,
final String description,
final int metricType,
final int factorCategory,
final FactorPortfolio portfolio,
final FactorPortfolioRanker portfolioRanker)
throws Exception
Expand All @@ -152,7 +149,6 @@ protected Factor (

_metricType = metricType;
_description = description;
_factorCategory = factorCategory;
}

/**
Expand Down Expand Up @@ -188,17 +184,6 @@ public int metricType()
return _metricType;
}

/**
* Retrieve the Factor Category
*
* @return The Factor Category
*/

public int factorCategory()
{
return _factorCategory;
}

/**
* Retrieve the Factor Portfolio
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,13 +120,15 @@ public class FactorComponentLoading
private double _weight = Double.NaN;
private double _returns = Double.NaN;
private int _assetType = Integer.MIN_VALUE;
private int _factorCategory = Integer.MIN_VALUE;
private int _riskPremiumCategory = Integer.MIN_VALUE;

/**
* FactorComponentLoading Constructor
*
* @param assetID Asset ID
* @param assetType Asset Type
* @param factorCategory Factor Category
* @param riskPremiumCategory Risk Premium Category
* @param weight Factor Weight
* @param returns Factor Returns
Expand All @@ -138,6 +140,7 @@ public class FactorComponentLoading
public FactorComponentLoading (
final String assetID,
final int assetType,
final int factorCategory,
final int riskPremiumCategory,
final double weight,
final double returns,
Expand All @@ -153,6 +156,7 @@ public FactorComponentLoading (
}

_assetType = assetType;
_factorCategory = factorCategory;
_riskPremiumCategory = riskPremiumCategory;
}

Expand All @@ -178,6 +182,17 @@ public int assetType()
return _assetType;
}

/**
* Retrieve the Factor Category
*
* @return The Factor Category
*/

public int factorCategory()
{
return _factorCategory;
}

/**
* Retrieve the Risk Premium Category
*
Expand Down
Loading

0 comments on commit e5ee1ac

Please sign in to comment.