Giter Club home page Giter Club logo

betting-against-beta's Introduction

Betting Against Beta

✨_Originally forked from WenqiAngieWu's implementation._

This codebase is based upon the paper: Frazzini, A. & Pedersen, L. (2014). Betting against beta, available online here, which was covered by the Hudson & Thames quantitative finance research reading group. It seeks to implement the work discussed in the paper.

The Hudson & Thames reading group is a research group for finance professionals and enthusiasts to stay abreast of the latest developments in financial machine learning through curated reading materials and discussions with experts, enthusiasts, and peers.

Join the reading group here.

Data

  • Data folder stores the fetched data and Data.py.

  • Data.py consists of 2 parts: save tickers, get data. Tickers are processed through website information, data are fetched using 'pandas-datareader'.

Implementation

  • main.py contains all the functions.

  • figure.py is for drawing plots.

Results

The strategy was back-tested on SP500 stocks and TSX (Toronto Stock Exchange) stocks and compared with two other similar factors presented in the Fama French 3-factor model: one is the SMB (small minus big), the other is the HML (high minus low). (SMB and HML data are collected from Ken French’s data library

US Cumulative Return with $1 invested in the beginning in the SP500 (shown as US) equity market (in comparison with the SMB and HML factors)

CAN Cumulative Return with $1 invested in the beginning in the TSX (shown as CAN) equity market (in comparison with the SMB and HML factors)

Evaluation

  • Portfolio construction US Equal W

  • Hedging US Hedge

  • Trading cost: Looking at the actual weights the strategy puts on stocks with different market cap, we find out small-cap stocks are overweighted, causing significant implementation issues because the smallest stocks usually have limited capacity and are expensive to trade.

Further Development

  • Set some threshold regarding the market capitalization when assigning weights

  • Mitigate risk using diversification

  • Explore the relationship between the strategy and market states, and refine it by incorporating the judgment of market trends into the strategy

Reference

  1. Andrea Frazzini and Lasse Heje Pedersen. Betting against beta. Journal of Financial Economics, 111(1):1–25, 2014

betting-against-beta's People

Contributors

wenqiangiewu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.