Failue to obtain full historical price data for period 2007::2016


import alphien

tkr = alphien.data.getTickersSP500().ticker

port = alphien.portfolio.Portfolio(tkr)

port.payout(myPayout)

port.evaluate(zoom=“2007::2016”)

port.backtest()


Whe I run the above code, I get warning saying:

Generating weights for myPayoutjiweng201002
Values for CBSS.US Equity, EP.US Equity, APCC.US Equity, MI.US Equity, HAR.US Equity, UVN.US Equity, PTV.US Equity, RX.US Equity, PGL.US Equity, EOP.US Equity, TRB.US Equity, SLR.US Equity, CEG.US Equity, BNI.US Equity, BOL.US Equity, MFE.US Equity, AYE.US Equity, LEH.US Equity, BDK.US Equity, TXU.US Equity, BJS.US Equity, NOVL.US Equity, JAVA.US Equity, GENZ.US Equity, MEL.US Equity, MHS.US Equity, WWY.US Equity, BRL.US Equity, TIN.US Equity, KSE.US Equity, MEDI.US Equity, AW.US Equity, TEK.US Equity, CEPH.US Equity, BMET.US Equity, ACS.US Equity, SGP.US Equity, SBL.US Equity, ROH.US Equity, CBE.US Equity, CMVT.US Equity, ABK.US Equity, GR.US Equity, DJ.US Equity, MER.US Equity, SOV.US Equity, MEE.US Equity, PBG.US Equity, XTO.US Equity, CTX.US Equity, HPC.US Equity, NCC.US Equity, KG.US Equity, WYE.US Equity, CMX.US Equity, CFC.US Equity, ASN.US Equity at requested dates have been coerced to NaN.

Then the “port.pricesMatrix” only gives prices from 02-05-2013 to 31-12-2016.


Why the values are coerced to NaN?


what’s the first date that “myPayout” outputs please? Do you use 2007::2013-05-01 to calibrate your strategy?

We used only the first 80 days to calibrate the strategy.


It seems like the problem is only temperary. When I try the same code a few hours later, the problem disappeared.


Thanks

Hi, Herve!


We encountered same problem here.


port = alphien.portfolio.Portfolio(tkr)

port.addFeatures()

port.payout(myPayout)

port.evaluate(zoom=“2014::2016”)

port.backtest()


Generating weights for myPayoutclarence1027201010
Values for CBSS.US Equity, EP.US Equity, APCC.US Equity, MI.US Equity, HAR.US Equity, UVN.US Equity, PTV.US Equity, RX.US Equity, PGL.US Equity, EOP.US Equity, TRB.US Equity, SLR.US Equity, CEG.US Equity, BNI.US Equity, BOL.US Equity, MFE.US Equity, AYE.US Equity, LEH.US Equity, BDK.US Equity, TXU.US Equity, BJS.US Equity, NOVL.US Equity, JAVA.US Equity, GENZ.US Equity, MEL.US Equity, TLAB.US Equity, MHS.US Equity, WWY.US Equity, BRL.US Equity, TIN.US Equity, KSE.US Equity, MEDI.US Equity, AW.US Equity, TEK.US Equity, CEPH.US Equity, BMET.US Equity, ACS.US Equity, SGP.US Equity, SBL.US Equity, ROH.US Equity, CBE.US Equity, CMVT.US Equity, ABK.US Equity, CVH.US Equity, GR.US Equity, MOLX.US Equity, DJ.US Equity, MER.US Equity, SOV.US Equity, MEE.US Equity, PBG.US Equity, XTO.US Equity, CTX.US Equity, HPC.US Equity, OMX.US Equity, NCC.US Equity, NYX.US Equity, KG.US Equity, WYE.US Equity, CMX.US Equity, CFC.US Equity, ASN.US Equity at requested dates have been coerced to NaN.
Start date changed from 1980-01-01 to 2014-01-01
End date changed from 2020-10-10 to 2016-12-31
Values for ABK.US Equity at requested dates have been coerced to NaN.
Values for ACS.US Equity at requested dates have been coerced to NaN.
Values for APCC.US Equity at requested dates have been coerced to NaN.
Values for ASN.US Equity at requested dates have been coerced to NaN.
Values for AW.US Equity at requested dates have been coerced to NaN.
Values for AYE.US Equity at requested dates have been coerced to NaN.
Values for BDK.US Equity at requested dates have been coerced to NaN.
Values for BJS.US Equity at requested dates have been coerced to NaN.
Values for BMET.US Equity at requested dates have been coerced to NaN.
Values for BNI.US Equity at requested dates have been coerced to NaN.
Values for BOL.US Equity at requested dates have been coerced to NaN.


I use data from 2007-2014 to train my models. And I want to backtest my strategy in 2014-2016. Would that because I use full 677 tkrs as the input? Or because I used getHistoryData() in myPayout function?

Oh, I guess that just simply because those tkrs no longer belong to sp500 in period 2014-2016, right?


You are correct, it means these tickers no longer have prices for the period you selected. Check: