Hi all,
I have checked out the educational posts both at https://www.quantopian.com/posts/how-to-get-static-assets-in-research and https://www.quantopian.com/posts/doing-pipeline-calculations-only-on-a-number-of-stocks-slash-assets.
I know I can use a list of US equities as a filter by doing:
from quantopian.research import run_pipeline, symbols
filterSectors = StaticAssets(symbols(["XLF","XLRE","XLE","XLU","XLK","XLB","XLP","XLY","XLI","XLC","XLV"]))
But I have problems listing equities in foreign markets. Take CN_EQUITIES
for example, by running a blank pipeline I get to know how equities are named in the database. An example is:
Equity(1178883501215042 [603516])
603516
is the widely accepted "name" of a Chinese stock easy to find online. I have no idea what 1178883501215042
is, maybe defined by the data provider? Right now I can only call the equity with the long number by:
StaticAssets(symbols([1178883501215042]))
# >>> StaticAssets([], 0)
But calling the short number gives the following error:
StaticAssets(symbols([603516]))
# >>>
# NoSuchSymbolsTraceback (most recent call last)
# <ipython-input-53-7dc395df23f4> in <module>()
# ----> 1 StaticAssets(symbols([603516]))
# /build/src/qexec_repo/qexec/research/api.py in symbols(symbols, symbol_reference_date, handle_missing)
# 456 symbol_reference_date=symbol_reference_date,
# 457 handle_missing=handle_missing,
# --> 458 readers=readers,
# 459 )
# 460
#
# /build/src/qexec_repo/qexec/research/_api.pyc in inner_symbols(symbols, symbol_reference_date, handle_missing, readers)
# 275
# 276 if len(securities) == 0:
# --> 277 raise NoSuchSymbols(symbols)
# 278
# 279 if symbols_is_scalar:
#
# NoSuchSymbols: Failed to find securities matching [603516]
Running StaticAssets(symbols(['603516']))
gives similar error.
Therefore, how can we know the correspondence between the long number and the market-accepted short names? Or more straightforward, how can we just call the equities with this short number?