Notebook

The best way to select a basket of ETFs is with the EquityMetadata dataset.

In [1]:
from quantopian.pipeline import Pipeline
from quantopian.pipeline.data.factset import EquityMetadata
from quantopian.research import run_pipeline
In [2]:
security_type = EquityMetadata.security_type.latest

pipe = Pipeline(
    columns={
        'security_type': security_type,
        'is_ETF': security_type.startswith('ETF')
    }
)
In [3]:
df = run_pipeline(pipe, '2015-01-01', '2016-01-01')
In [4]:
df.head()
Out[4]:
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
In [5]:
df[df.is_ETF]
Out[5]:
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

In [6]:
df[df.is_ETF].groupby(level=0).count()
Out[6]:
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

In [ ]: