Universal Portfolios: Re-creating the simple example. Announcing the arrival of Valued...
How can players work together to take actions that are otherwise impossible?
What LEGO pieces have "real-world" functionality?
What causes the vertical darker bands in my photo?
Are my PIs rude or am I just being too sensitive?
Java 8 stream max() function argument type Comparator vs Comparable
Why aren't air breathing engines used as small first stages
Withdrew £2800, but only £2000 shows as withdrawn on online banking; what are my obligations?
Why did the IBM 650 use bi-quinary?
How to bypass password on Windows XP account?
When to stop saving and start investing?
Letter Boxed validator
Did Kevin spill real chili?
How do I stop a creek from eroding my steep embankment?
The logistics of corpse disposal
What is a Meta algorithm?
What is the longest distance a 13th-level monk can jump while attacking on the same turn?
Should I discuss the type of campaign with my players?
How to recreate this effect in Photoshop?
When -s is used with third person singular. What's its use in this context?
How can I fade player when goes inside or outside of the area?
Can inflation occur in a positive-sum game currency system such as the Stack Exchange reputation system?
How to motivate offshore teams and trust them to deliver?
Should I call the interviewer directly, if HR aren't responding?
Why is "Captain Marvel" translated as male in Portugal?
Universal Portfolios: Re-creating the simple example.
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Universal Correlation measure — ranking correlationsInformation content of universal sentenceDerivation of Black-Scholes equation by riskless portfolioWhat is the difference between simple interest and simple discounting?The Simple Interest accurued on an amount.Investment in simple interestSimple Percentage / InterestMarkowitz Model Invests in EverythingDealing with noisy pointsWhat are some different approaches to scoring an old Stock price prediction?
$begingroup$
I have just become aware of a very interesting theory for portfolio management which is grounded in mathematics, called Universal Portfolios. I am focused on the paper of the same name, here's a link.
I am working on understanding the math better, but I am getting a bit hung up on the examples. In the Examples section of the paper, there is a simple illustration of the usefulness of the algorithm using 2 stocks:
I am working on re-creating the examples with recent data from the stock market, released by kaggle. I am not interested yet in creating the universal portfolio yet. I am interesting in making sure i understand the idea about the "best constant balanced portfolio". This is an important piece of the paper.
Cover is stating that for the 2 stocks listed there, he was able to create constant rebalanced portfolios for list of values, b, which is the weight of one stock, and b-1, the weight of the other. He is stating that the performance of many of these constant rebalanced portfolios is better than that of either of the 2 stocks alone.
I was hoping to be able to pick 2 stocks from the data set and show a similar thing. However for the stocks that I have picked, there seems to be negligible improvement for any of the constant rebalanced portfolios. I am pretty sure I have the calculation correct.
I made some quick plots of several pairs of stocks. I've plotted the return of each stock, and then the constant rebalanced portfolios for a few choices for b ( 0.1, 0.3, 0.5, 0.7, 0.9 ). Most of the time the constant rebalanced portfolios cannot beat the performance of the best performing stock out of the 2, and when they do beat both stocks, it only seems to beat the best stock by a very slight amount. A far cry from the performance improvements that Cover mentions in the paper.
The dates here are 2001 - 2016, daily prices. Here is AAPL and MSFT, as you can see holding AAPL alone in the portfolio beats and constant rebalanced portfolio.
Here is a pair where a couple of the constant rebalanced portfolios perform the best, but it is just a very slight improvement.
From reading the paper I was expecting to see a massive improvement in performance for these simple examples but I'm not seeing anything interesting really. I was wondering if someone had some insight, maybe I did something wrong in my calculation, or maybe this is to be expected. I am also including my python code for the examples.
#!/usr/bin/python3
import pandas as pd
from sqlalchemy import create_engine
from datetime import date, timedelta, datetime
import numpy as np
from scipy.optimize import minimize, fmin
from matplotlib import pyplot as plt
engine = create_engine('postgres://localhost/kaggle')
'''
Universal portfolios
Cover
'''
stock1 = "WFC"
stock2 = "KO"
data = pd.read_sql("""select * from historical_stock_prices where date >= '2001-01-01' and date <= '2012-01-01' and ticker in ('%s','%s');""" % (stock1, stock2), engine )
x = pd.DataFrame({
stock1: data[ data['ticker'] == stock1 ]['adj_close'].tolist(),
stock2: data[ data['ticker'] == stock2 ]['adj_close'].tolist()
}, index=data[ data['ticker'] == stock2 ]['date'].tolist() )
x = np.log( x ).diff().dropna()
for i in range(1,11, 2):
p = i/10.0
print( p )
plt.plot( np.cumprod( np.dot( np.exp( x.values ), [p,1-p] ) ), label=str(p) )
plt.plot( np.cumprod( np.exp( x[stock1].values ) ), label=stock1 )
plt.plot( np.cumprod( np.exp( x[stock2].values ) ), label=stock2 )
plt.legend()
plt.show()
finance information-theory
$endgroup$
add a comment |
$begingroup$
I have just become aware of a very interesting theory for portfolio management which is grounded in mathematics, called Universal Portfolios. I am focused on the paper of the same name, here's a link.
I am working on understanding the math better, but I am getting a bit hung up on the examples. In the Examples section of the paper, there is a simple illustration of the usefulness of the algorithm using 2 stocks:
I am working on re-creating the examples with recent data from the stock market, released by kaggle. I am not interested yet in creating the universal portfolio yet. I am interesting in making sure i understand the idea about the "best constant balanced portfolio". This is an important piece of the paper.
Cover is stating that for the 2 stocks listed there, he was able to create constant rebalanced portfolios for list of values, b, which is the weight of one stock, and b-1, the weight of the other. He is stating that the performance of many of these constant rebalanced portfolios is better than that of either of the 2 stocks alone.
I was hoping to be able to pick 2 stocks from the data set and show a similar thing. However for the stocks that I have picked, there seems to be negligible improvement for any of the constant rebalanced portfolios. I am pretty sure I have the calculation correct.
I made some quick plots of several pairs of stocks. I've plotted the return of each stock, and then the constant rebalanced portfolios for a few choices for b ( 0.1, 0.3, 0.5, 0.7, 0.9 ). Most of the time the constant rebalanced portfolios cannot beat the performance of the best performing stock out of the 2, and when they do beat both stocks, it only seems to beat the best stock by a very slight amount. A far cry from the performance improvements that Cover mentions in the paper.
The dates here are 2001 - 2016, daily prices. Here is AAPL and MSFT, as you can see holding AAPL alone in the portfolio beats and constant rebalanced portfolio.
Here is a pair where a couple of the constant rebalanced portfolios perform the best, but it is just a very slight improvement.
From reading the paper I was expecting to see a massive improvement in performance for these simple examples but I'm not seeing anything interesting really. I was wondering if someone had some insight, maybe I did something wrong in my calculation, or maybe this is to be expected. I am also including my python code for the examples.
#!/usr/bin/python3
import pandas as pd
from sqlalchemy import create_engine
from datetime import date, timedelta, datetime
import numpy as np
from scipy.optimize import minimize, fmin
from matplotlib import pyplot as plt
engine = create_engine('postgres://localhost/kaggle')
'''
Universal portfolios
Cover
'''
stock1 = "WFC"
stock2 = "KO"
data = pd.read_sql("""select * from historical_stock_prices where date >= '2001-01-01' and date <= '2012-01-01' and ticker in ('%s','%s');""" % (stock1, stock2), engine )
x = pd.DataFrame({
stock1: data[ data['ticker'] == stock1 ]['adj_close'].tolist(),
stock2: data[ data['ticker'] == stock2 ]['adj_close'].tolist()
}, index=data[ data['ticker'] == stock2 ]['date'].tolist() )
x = np.log( x ).diff().dropna()
for i in range(1,11, 2):
p = i/10.0
print( p )
plt.plot( np.cumprod( np.dot( np.exp( x.values ), [p,1-p] ) ), label=str(p) )
plt.plot( np.cumprod( np.exp( x[stock1].values ) ), label=stock1 )
plt.plot( np.cumprod( np.exp( x[stock2].values ) ), label=stock2 )
plt.legend()
plt.show()
finance information-theory
$endgroup$
add a comment |
$begingroup$
I have just become aware of a very interesting theory for portfolio management which is grounded in mathematics, called Universal Portfolios. I am focused on the paper of the same name, here's a link.
I am working on understanding the math better, but I am getting a bit hung up on the examples. In the Examples section of the paper, there is a simple illustration of the usefulness of the algorithm using 2 stocks:
I am working on re-creating the examples with recent data from the stock market, released by kaggle. I am not interested yet in creating the universal portfolio yet. I am interesting in making sure i understand the idea about the "best constant balanced portfolio". This is an important piece of the paper.
Cover is stating that for the 2 stocks listed there, he was able to create constant rebalanced portfolios for list of values, b, which is the weight of one stock, and b-1, the weight of the other. He is stating that the performance of many of these constant rebalanced portfolios is better than that of either of the 2 stocks alone.
I was hoping to be able to pick 2 stocks from the data set and show a similar thing. However for the stocks that I have picked, there seems to be negligible improvement for any of the constant rebalanced portfolios. I am pretty sure I have the calculation correct.
I made some quick plots of several pairs of stocks. I've plotted the return of each stock, and then the constant rebalanced portfolios for a few choices for b ( 0.1, 0.3, 0.5, 0.7, 0.9 ). Most of the time the constant rebalanced portfolios cannot beat the performance of the best performing stock out of the 2, and when they do beat both stocks, it only seems to beat the best stock by a very slight amount. A far cry from the performance improvements that Cover mentions in the paper.
The dates here are 2001 - 2016, daily prices. Here is AAPL and MSFT, as you can see holding AAPL alone in the portfolio beats and constant rebalanced portfolio.
Here is a pair where a couple of the constant rebalanced portfolios perform the best, but it is just a very slight improvement.
From reading the paper I was expecting to see a massive improvement in performance for these simple examples but I'm not seeing anything interesting really. I was wondering if someone had some insight, maybe I did something wrong in my calculation, or maybe this is to be expected. I am also including my python code for the examples.
#!/usr/bin/python3
import pandas as pd
from sqlalchemy import create_engine
from datetime import date, timedelta, datetime
import numpy as np
from scipy.optimize import minimize, fmin
from matplotlib import pyplot as plt
engine = create_engine('postgres://localhost/kaggle')
'''
Universal portfolios
Cover
'''
stock1 = "WFC"
stock2 = "KO"
data = pd.read_sql("""select * from historical_stock_prices where date >= '2001-01-01' and date <= '2012-01-01' and ticker in ('%s','%s');""" % (stock1, stock2), engine )
x = pd.DataFrame({
stock1: data[ data['ticker'] == stock1 ]['adj_close'].tolist(),
stock2: data[ data['ticker'] == stock2 ]['adj_close'].tolist()
}, index=data[ data['ticker'] == stock2 ]['date'].tolist() )
x = np.log( x ).diff().dropna()
for i in range(1,11, 2):
p = i/10.0
print( p )
plt.plot( np.cumprod( np.dot( np.exp( x.values ), [p,1-p] ) ), label=str(p) )
plt.plot( np.cumprod( np.exp( x[stock1].values ) ), label=stock1 )
plt.plot( np.cumprod( np.exp( x[stock2].values ) ), label=stock2 )
plt.legend()
plt.show()
finance information-theory
$endgroup$
I have just become aware of a very interesting theory for portfolio management which is grounded in mathematics, called Universal Portfolios. I am focused on the paper of the same name, here's a link.
I am working on understanding the math better, but I am getting a bit hung up on the examples. In the Examples section of the paper, there is a simple illustration of the usefulness of the algorithm using 2 stocks:
I am working on re-creating the examples with recent data from the stock market, released by kaggle. I am not interested yet in creating the universal portfolio yet. I am interesting in making sure i understand the idea about the "best constant balanced portfolio". This is an important piece of the paper.
Cover is stating that for the 2 stocks listed there, he was able to create constant rebalanced portfolios for list of values, b, which is the weight of one stock, and b-1, the weight of the other. He is stating that the performance of many of these constant rebalanced portfolios is better than that of either of the 2 stocks alone.
I was hoping to be able to pick 2 stocks from the data set and show a similar thing. However for the stocks that I have picked, there seems to be negligible improvement for any of the constant rebalanced portfolios. I am pretty sure I have the calculation correct.
I made some quick plots of several pairs of stocks. I've plotted the return of each stock, and then the constant rebalanced portfolios for a few choices for b ( 0.1, 0.3, 0.5, 0.7, 0.9 ). Most of the time the constant rebalanced portfolios cannot beat the performance of the best performing stock out of the 2, and when they do beat both stocks, it only seems to beat the best stock by a very slight amount. A far cry from the performance improvements that Cover mentions in the paper.
The dates here are 2001 - 2016, daily prices. Here is AAPL and MSFT, as you can see holding AAPL alone in the portfolio beats and constant rebalanced portfolio.
Here is a pair where a couple of the constant rebalanced portfolios perform the best, but it is just a very slight improvement.
From reading the paper I was expecting to see a massive improvement in performance for these simple examples but I'm not seeing anything interesting really. I was wondering if someone had some insight, maybe I did something wrong in my calculation, or maybe this is to be expected. I am also including my python code for the examples.
#!/usr/bin/python3
import pandas as pd
from sqlalchemy import create_engine
from datetime import date, timedelta, datetime
import numpy as np
from scipy.optimize import minimize, fmin
from matplotlib import pyplot as plt
engine = create_engine('postgres://localhost/kaggle')
'''
Universal portfolios
Cover
'''
stock1 = "WFC"
stock2 = "KO"
data = pd.read_sql("""select * from historical_stock_prices where date >= '2001-01-01' and date <= '2012-01-01' and ticker in ('%s','%s');""" % (stock1, stock2), engine )
x = pd.DataFrame({
stock1: data[ data['ticker'] == stock1 ]['adj_close'].tolist(),
stock2: data[ data['ticker'] == stock2 ]['adj_close'].tolist()
}, index=data[ data['ticker'] == stock2 ]['date'].tolist() )
x = np.log( x ).diff().dropna()
for i in range(1,11, 2):
p = i/10.0
print( p )
plt.plot( np.cumprod( np.dot( np.exp( x.values ), [p,1-p] ) ), label=str(p) )
plt.plot( np.cumprod( np.exp( x[stock1].values ) ), label=stock1 )
plt.plot( np.cumprod( np.exp( x[stock2].values ) ), label=stock2 )
plt.legend()
plt.show()
finance information-theory
finance information-theory
asked Mar 23 at 22:18
jeffery_the_windjeffery_the_wind
1208
1208
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3159867%2funiversal-portfolios-re-creating-the-simple-example%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3159867%2funiversal-portfolios-re-creating-the-simple-example%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown