The best way to select a basket of ETFs is with the EquityMetadata dataset.
from quantopian.pipeline import Pipeline
from quantopian.pipeline.data.factset import EquityMetadata
from quantopian.research import run_pipeline
security_type = EquityMetadata.security_type.latest
pipe = Pipeline(
columns={
'security_type': security_type,
'is_ETF': security_type.startswith('ETF')
}
)
df = run_pipeline(pipe, '2015-01-01', '2016-01-01')
df.head()
is_ETF | security_type | ||
---|---|---|---|
2015-01-02 00:00:00+00:00 | Equity(2 [ARNC]) | False | SHARE |
Equity(21 [AAME]) | False | SHARE | |
Equity(24 [AAPL]) | False | SHARE | |
Equity(25 [ARNC_PR]) | False | None | |
Equity(31 [ABAX]) | False | SHARE |
df[df.is_ETF]
is_ETF | security_type | ||
---|---|---|---|
2015-01-02 00:00:00+00:00 | Equity(2174 [DIA]) | True | ETF_ETF |
Equity(8554 [SPY]) | True | ETF_ETF | |
Equity(12430 [EWD]) | True | ETF_ETF | |
Equity(12915 [MDY]) | True | ETF_ETF | |
Equity(14516 [EWA]) | True | ETF_ETF | |
Equity(14517 [EWC]) | True | ETF_ETF | |
Equity(14518 [EWG]) | True | ETF_ETF | |
Equity(14519 [EWH]) | True | ETF_ETF | |
Equity(14520 [EWJ]) | True | ETF_ETF | |
Equity(14521 [EWK]) | True | ETF_ETF | |
Equity(14522 [EWL]) | True | ETF_ETF | |
Equity(14523 [EWM]) | True | ETF_ETF | |
Equity(14524 [EWN]) | True | ETF_ETF | |
Equity(14525 [EWO]) | True | ETF_ETF | |
Equity(14526 [EWP]) | True | ETF_ETF | |
Equity(14527 [EWQ]) | True | ETF_ETF | |
Equity(14528 [EWS]) | True | ETF_ETF | |
Equity(14529 [EWU]) | True | ETF_ETF | |
Equity(14530 [EWW]) | True | ETF_ETF | |
Equity(19654 [XLB]) | True | ETF_ETF | |
Equity(19655 [XLE]) | True | ETF_ETF | |
Equity(19656 [XLF]) | True | ETF_ETF | |
Equity(19657 [XLI]) | True | ETF_ETF | |
Equity(19658 [XLK]) | True | ETF_ETF | |
Equity(19659 [XLP]) | True | ETF_ETF | |
Equity(19660 [XLU]) | True | ETF_ETF | |
Equity(19661 [XLV]) | True | ETF_ETF | |
Equity(19662 [XLY]) | True | ETF_ETF | |
Equity(19920 [QQQ]) | True | ETF_ETF | |
Equity(20903 [PFI]) | True | ETF_ETF | |
... | ... | ... | ... |
2016-01-04 00:00:00+00:00 | Equity(49582 [GSIE]) | True | ETF_ETF |
Equity(49583 [TLDH]) | True | ETF_ETF | |
Equity(49584 [TLEH]) | True | ETF_ETF | |
Equity(49588 [PRME]) | True | ETF_ETF | |
Equity(49592 [GSD]) | True | ETF_ETF | |
Equity(49593 [IAGG]) | True | ETF_ETF | |
Equity(49616 [ETHO]) | True | ETF_ETF | |
Equity(49617 [HGSD]) | True | ETF_ETF | |
Equity(49622 [ASET]) | True | ETF_ETF | |
Equity(49625 [DEEF]) | True | ETF_ETF | |
Equity(49626 [DEUS]) | True | ETF_ETF | |
Equity(49637 [SPYX]) | True | ETF_ETF | |
Equity(49638 [QMOM]) | True | ETF_ETF | |
Equity(49639 [GASX]) | True | ETF_ETF | |
Equity(49640 [ONEO]) | True | ETF_ETF | |
Equity(49643 [ONEY]) | True | ETF_ETF | |
Equity(49644 [ONEV]) | True | ETF_ETF | |
Equity(49645 [MJ]) | True | ETF_ETF | |
Equity(49659 [EMGF]) | True | ETF_ETF | |
Equity(49662 [PTEU]) | True | ETF_ETF | |
Equity(49669 [DJD]) | True | ETF_ETF | |
Equity(49670 [NANR]) | True | ETF_ETF | |
Equity(49677 [JPEU]) | True | ETF_ETF | |
Equity(49681 [DYB]) | True | ETF_ETF | |
Equity(49682 [DYLS]) | True | ETF_ETF | |
Equity(49683 [IMOM]) | True | ETF_ETF | |
Equity(49688 [UDBI]) | True | ETF_ETF | |
Equity(49689 [LVHD]) | True | ETF_ETF | |
Equity(49690 [EDBI]) | True | ETF_ETF | |
Equity(49691 [DDBI]) | True | ETF_ETF |
370081 rows × 2 columns
df[df.is_ETF].groupby(level=0).count()
is_ETF | security_type | |
---|---|---|
2015-01-02 00:00:00+00:00 | 1366 | 1366 |
2015-01-05 00:00:00+00:00 | 1366 | 1366 |
2015-01-06 00:00:00+00:00 | 1366 | 1366 |
2015-01-07 00:00:00+00:00 | 1366 | 1366 |
2015-01-08 00:00:00+00:00 | 1370 | 1370 |
2015-01-09 00:00:00+00:00 | 1370 | 1370 |
2015-01-12 00:00:00+00:00 | 1370 | 1370 |
2015-01-13 00:00:00+00:00 | 1370 | 1370 |
2015-01-14 00:00:00+00:00 | 1370 | 1370 |
2015-01-15 00:00:00+00:00 | 1373 | 1373 |
2015-01-16 00:00:00+00:00 | 1373 | 1373 |
2015-01-20 00:00:00+00:00 | 1373 | 1373 |
2015-01-21 00:00:00+00:00 | 1373 | 1373 |
2015-01-22 00:00:00+00:00 | 1373 | 1373 |
2015-01-23 00:00:00+00:00 | 1373 | 1373 |
2015-01-26 00:00:00+00:00 | 1373 | 1373 |
2015-01-27 00:00:00+00:00 | 1374 | 1374 |
2015-01-28 00:00:00+00:00 | 1374 | 1374 |
2015-01-29 00:00:00+00:00 | 1374 | 1374 |
2015-01-30 00:00:00+00:00 | 1374 | 1374 |
2015-02-02 00:00:00+00:00 | 1374 | 1374 |
2015-02-03 00:00:00+00:00 | 1374 | 1374 |
2015-02-04 00:00:00+00:00 | 1375 | 1375 |
2015-02-05 00:00:00+00:00 | 1379 | 1379 |
2015-02-06 00:00:00+00:00 | 1379 | 1379 |
2015-02-09 00:00:00+00:00 | 1379 | 1379 |
2015-02-10 00:00:00+00:00 | 1379 | 1379 |
2015-02-11 00:00:00+00:00 | 1380 | 1380 |
2015-02-12 00:00:00+00:00 | 1381 | 1381 |
2015-02-13 00:00:00+00:00 | 1381 | 1381 |
... | ... | ... |
2015-11-19 00:00:00+00:00 | 1554 | 1554 |
2015-11-20 00:00:00+00:00 | 1554 | 1554 |
2015-11-23 00:00:00+00:00 | 1554 | 1554 |
2015-11-24 00:00:00+00:00 | 1557 | 1557 |
2015-11-25 00:00:00+00:00 | 1557 | 1557 |
2015-11-27 00:00:00+00:00 | 1557 | 1557 |
2015-11-30 00:00:00+00:00 | 1559 | 1559 |
2015-12-01 00:00:00+00:00 | 1559 | 1559 |
2015-12-02 00:00:00+00:00 | 1559 | 1559 |
2015-12-03 00:00:00+00:00 | 1559 | 1559 |
2015-12-04 00:00:00+00:00 | 1565 | 1565 |
2015-12-07 00:00:00+00:00 | 1566 | 1566 |
2015-12-08 00:00:00+00:00 | 1566 | 1566 |
2015-12-09 00:00:00+00:00 | 1566 | 1566 |
2015-12-10 00:00:00+00:00 | 1566 | 1566 |
2015-12-11 00:00:00+00:00 | 1566 | 1566 |
2015-12-14 00:00:00+00:00 | 1566 | 1566 |
2015-12-15 00:00:00+00:00 | 1567 | 1567 |
2015-12-16 00:00:00+00:00 | 1567 | 1567 |
2015-12-17 00:00:00+00:00 | 1567 | 1567 |
2015-12-18 00:00:00+00:00 | 1570 | 1570 |
2015-12-21 00:00:00+00:00 | 1570 | 1570 |
2015-12-22 00:00:00+00:00 | 1571 | 1571 |
2015-12-23 00:00:00+00:00 | 1571 | 1571 |
2015-12-24 00:00:00+00:00 | 1571 | 1571 |
2015-12-28 00:00:00+00:00 | 1571 | 1571 |
2015-12-29 00:00:00+00:00 | 1578 | 1578 |
2015-12-30 00:00:00+00:00 | 1578 | 1578 |
2015-12-31 00:00:00+00:00 | 1578 | 1578 |
2016-01-04 00:00:00+00:00 | 1578 | 1578 |
253 rows × 2 columns