#r
#r
Вопрос:
Я хотел бы загрузить исторические цены на акции (ежедневно) китайских компаний (которые котируются на фондовом рынке США, например, NASDAQ) в R.
Поэтому я нашел список компаний (на NASDAQ)
stockprice <- c("YI","VNET","QFIN","JOBS","ATV","AMCN","BABA","ACH","AMBO","ATAI","JG","BIDU","BZUN","BI","LI","BCAC","BCACR","BCACU","BCACW","BITA","BRQS","BEDU","CSIQ","CBAT","CYOU","CADC","CAAS","GLG","CBPO","CCCL","CCRC","DL","CEA","JRJC","CGA","HGSH","CIFS","CJJD","LFC","BORN","COE","SNP","CPHI","CREG","ZNH","SXTC","CNTF","CHA","CXDC","CCIH","CNET","CLPS","CMSS","CMSSR","CMSSU","CMSSW","CCM","CTRP","DQ","DTSS","DOGZ","LYL","DXF","EHIC","EVK","SFUN","FANH","FAMI","FORK","FTFT","FFHL","GDS","DNJR","GLAC","GLACR","GLACU","GLACW","GRNQ","GSUM","GSH","GURE","HLG","HEBT","HX","HPJ","HOLI","HMI","HNP","HTHT","IQ","ITP","JD","JKS","JMU","KNDI","KBSF","KGJI","LX","LLIT","LITB","LOAC","LOACR","LOACU","LOACW","LKCO","MDJH","MTC","MOMO","MOXC","NTP","NTES","EDU","NEWA","NIU","NOAH","SEED","OSN","PTR","FENG","PDD","PME","PT","PLAG","PHCF","QD","QTT","RCON","SOL","BIQI","RENN","RETO","REDU","SECO","SMI","AIHS","SGOC","TYHT","SINA","SHI","SVA","SOHU","SORL","SPI","SSLJ","TAL","TANH","TAOP","TEDU","PETZ","NCTY","TMSR","TC","TOUR","UTSI","UXIN","VIOT","VIPS","WB","WINS","XIN","XNET","YIN","YRD","YY","ZLAB","ZKIN","ZTO") %>%
tq_get(get = "stock.prices",
from = "2014-01-01",
to = "2018-12-31") %>%
group_by(symbol) %>%
tq_transmute(select = adjusted,
mutate_fun = periodReturn,
period = "daily",
col_rename = "stockprice")
Проблема # 1
Я хотел бы упорядочить таблицу по дате и каждой компании в отдельном столбце (не в строке!).
Проблема № 2 Эти компании не были включены в листинг за один и тот же период времени (некоторые из них были менее 5 лет). Как я могу «очистить» таблицу и добавить «ноль» для отсутствующих значений?
(возможно) Задача № 3 Цель состоит в том, чтобы получить доходность каждой акции, которая должна быть 100 x (log (P_t) — log(P_t-1))Следовательно, журнал сегодняшней цены минус журнал вчерашней цены, умноженный на 100.
Я понятия не имею, произошло ли это с помощью «mutate_fun = periodReturn» .
Я пробовал также другие коды, но приведенный выше оказался наиболее близким к результату..
Ответ №1:
Если X является результатом кода в вопросе (после его исправления — в настоящее время он не работает так, как опубликовано), то все это может быть выполнено в одном операторе (с предоставлением многомерной серии зоопарка):
read.zoo(X, index = "date", split = "symbol")