The client is using the LSEG Data Library for Python (get_history) to retrieve copper futures data. Their setup works correctly for COMEX futures (e.g., HGc1, HGc2) using fields such as:
- TR.SETTLEMENTPRICE
- CRT_MNTH / CONTR_MNTH
However, when they try the same approach for SHFE futures (e.g., SCFc1, SCFc2), the contract month field is not returned.
After checking, I found that CONTR_MNTH / CRT_MNTH is not populated for SHFE contracts in Codebook, which explains why the LSEG Data Library does not return this field for SCF instruments.
Below is what I used to verify:
Instrument: SCFc1Fields checked: CONTR_MNTH, CRT_MNTHObservation: Field not available / not populated for SHFE chain.
Could you please advise if:
- There is an alternative field for retrieving contract month for SHFE futures, or
- Clients must derive contract month manually from the underlying RIC structure, or
- This is a data limitation for SHFE futures in our dataset?
The client is specifically asking how they can adapt their function call to retrieve contract-month information for SHFE futures.
As per checking the field is not supported historically in CHT.
Please confirm if the CONTR_MNTH / CRT_MNTH field is not supported or populated in CHT (Chain History Tool), then it will also not appear in Codebook
a { text-decoration: none; color: #464feb;}tr th, tr td { border: 1px solid #e6e6e6;}tr th { background-color: #f5f5f5;}“While the contract month may appear in realtime displays, this field is not supported in the historical data (Codebook/CHT) for SHFE futures. As a result, the Python Data Library cannot return CONTR_MNTH for SCF instruments.”
My assumption-
While the contract month may appear in Realtime displays, this field is not supported in the historical data (Codebook/CHT) for SHFE futures. As a result, the Python Data Library cannot return CONTR_MNTH for SCF instruments.”
import lseg.data as ld
ld.open_session()
df =ld.get_history(universe=["SCFc1"],
fields=[],
interval="1d",
start='2026-01-01',
end='2026-02-19')
df
SCFc1 | TRDPRC_1 | OPEN_PRC | HIGH_1 | LOW_1 | ACVOL_UNS | BID | ASK | OPINT_1 | TOTCNTRVOL | TOTCNTROI | SETTLE | MID_PRICE | VWAP | SETL_PCHNG | SETL_NCHNG |
|---|
Date | | | | | | | | | | | | | | | |
|---|
2026-01-05 | 101190 | 99020 | 101190 | 99020 | 26197 | 101110 | 101490 | 38175 | 357332 | 643459 | 100350 | <NA> | 100355 | 1.7233 | 1700 |
|---|
2026-01-06 | 105330 | 100730 | 105330 | 100600 | 20305 | 104610 | 105560 | 32735 | 644324 | 681520 | 103450 | <NA> | 103455 | 3.0892 | 3100 |
|---|
import refinitiv.data as rd
rd.open_session()
df = rd.get_data(
universe = ['SCFc1'],
fields = [
'EXPIR_DATE',
'CONTR_MNTH'
]
)
display(df)
| Instrument | EXPIR_DATE | CONTR_MNTH |
|---|
0 | SCFc1 | 2026-02-24 | FEB6 |
|---|