- ago
Could you please add an option of using tickers (like VTBR instead of ВТБ ао) for Finam history provider from Russian pac?

So I could choose. Applyed for the whole provider of separate symbols list linked to it.
0
149
13 Answers

Reply

Bookmark

Sort
- ago
#1
Sorry, this is impossible. There's a symbol / ID key relationship in Finam's classification groups which is used for symbol lookup and cannot be altered.
0
- ago
#2
ok, thanks
0
- ago
#3
Current Finam provider implementation uses aEmitentNames, what is really wrong, because it's just human friendly names, not real tickers. Real tickers are in aEmitentCodes. I'm now writing stream/broker provider and instead using ready to use Finam history provider i would need write own one (to get same finam data but using tickers) because i can't link human friendly names to broker data which i get from broker. It would be nice to have just may be configuration switch allowing select what to use as ticker. But, again, imho using h-friendly names it's completely wrong method.
0
- ago
#4
Switching the Finam provider to the emitent code (vs. emitent name) list is an interesting idea worth exploring. Will need to see if it has implications on Classification Groups in the New DataSet Wizard. It's easy when you know the ticker you're looking for (say YNDX stock or SIH2021 futures) but what about bonds, currencies, indices and other asset classes Finam has?

I'll investigate into it later. For now you can use the MOEX provider which adheres to the exchange's official symbology.
0
- ago
#5
As I'm experimenting with the emitent codes instead of security names, I noticed a number of duplicate codes across the classification groups. One of examples that stands out the most is the Eurobonds group:

0
- ago
#7
Maybe @eSKond has an idea?

The provider builds Classification Groups automatically. Currently, there are 23K+ constituents in dozens of groups. As no hardcoding or exclusions is taking place I'd prefer that it keep working smoothly. I may come up with a solution that suits in a future build.
0
- ago
#8
Let look carefully at your example, 'RUSSIA' code:
434904,630,Еврооблигации Архив,RUSSIA,Россия - 17,eurobonds/ej112944-corp
435123,630,Еврооблигации Архив,RUSSIA,Россия - 17.Доходность,eurobonds/ej112944-corp-yield
434815,630,Еврооблигации Архив,RUSSIA,Россия - 18,eurobonds/ec010879-corp
435034,630,Еврооблигации Архив,RUSSIA,Россия - 18.Доходность,eurobonds/ec010879-corp-yield
434995,630,Еврооблигации Архив,RUSSIA,Россия - 19,eurobonds/ej826994-corp
435214,630,Еврооблигации Архив,RUSSIA,Россия - 19.Доходность,eurobonds/ej826994-corp-yield
434861,630,Еврооблигации Архив,RUSSIA,Россия - 20,eurobonds/ei232991-corp
434998,630,Еврооблигации Архив,RUSSIA,Россия - 20,eurobonds/ej827475-corp
435080,630,Еврооблигации Архив,RUSSIA,Россия - 20.Доходность,eurobonds/ei232991-corp-yield
435217,630,Еврооблигации Архив,RUSSIA,Россия - 20.Доходность,eurobonds/ej827475-corp-yield
434905,630,Еврооблигации Архив,RUSSIA,Россия - 22,eurobonds/ej112948-corp
435124,630,Еврооблигации Архив,RUSSIA,Россия - 22.Доходность,eurobonds/ej112948-corp-yield
434996,630,Еврооблигации Архив,RUSSIA,Россия - 23,eurobonds/ej827000-corp
435215,630,Еврооблигации Архив,RUSSIA,Россия - 23.Доходность,eurobonds/ej827000-corp-yield
435028,519,Еврооблигации,RUSSIA,Россия - 28,eurobonds/tt343269-corp
435247,519,Еврооблигации,RUSSIA,Россия - 28.Доходность,eurobonds/tt343269-corp-yield
434816,630,Еврооблигации Архив,RUSSIA,Россия - 30,eurobonds/ec228830-corp
435035,630,Еврооблигации Архив,RUSSIA,Россия - 30.Доходность,eurobonds/ec228830-corp-yield
434906,630,Еврооблигации Архив,RUSSIA,Россия - 42,eurobonds/ej112964-corp
435125,630,Еврооблигации Архив,RUSSIA,Россия - 42.Доходность,eurobonds/ej112964-corp-yield
434997,630,Еврооблигации Архив,RUSSIA,Россия - 43,eurobonds/ej827012-corp
435216,630,Еврооблигации Архив,RUSSIA,Россия - 43.Доходность,eurobonds/ej827012-corp-yield

As you can see, most of these items are archive, delisted bonds. There is 2 active only:
435028,519,Еврооблигации,RUSSIA,Россия - 28,eurobonds/tt343269-corp
435247,519,Еврооблигации,RUSSIA,Россия - 28.Доходность,eurobonds/tt343269-corp-yield
But second one it's just yield chart, it's not tradeable. So real tradeable symbol there is
435028,519,Еврооблигации,RUSSIA,Россия - 28,eurobonds/tt343269-corp

So my suggestion is following:
1. Exclude archive folders from list (has word Архив (i don't know if you speak russian or not))
2. Exclude special folders like 'Отрасли'
3. Exclude symbols with word "Доходность" in name
4. Use code instead name
0
- ago
#9
Concerning VTB.
After deleting archives and "расписки" (one more folder to exclude) and excluding yield charts, there is 2 symbol only:
434814,519,Еврооблигации,VTB,ВТБ - 24,eurobonds/ch0248531110-corp
435027,519,Еврооблигации,VTB,ВТБ - 24,eurobonds/ek365256-corp

Note, both have same code and same name "ВТБ - 24"
I suspect it's same paper, just in different folders.
Finam classification it's not papers classes, but just their own web chart grouping. And using not formalized names it's wrong approach.
0
- ago
#10
Btw, what if add parameters to select specific folder? and one more parameter to select what to use - name or code? Then user can select what he wants.
0
- ago
#11
QUOTE:
1. Exclude archive folders from list (has word Архив (i don't know if you speak russian or not))
2. Exclude special folders like 'Отрасли'
3. Exclude symbols with word "Доходность" in name

I like automation everywhere and don't want to introduce exclusions. The classification parser is automated, with the WL6 version able to hook up to the classification file (icharts.js) even if its URL changes. (In WL7 the location is hardcoded but we can bring this logic later if need be).

QUOTE:
and one more parameter to select what to use - name or code? Then user can select what he wants.

Hmm it'd be more involved because the Classification UserControl is designed to be shared by different providers across several extensions (MFD, Dukascopy etc.) and it might affect these providers. For example, MFD does not have codes, just names.

QUOTE:
I suspect it's same paper, just in different folders.

While this may be the case (I by no means am a Eurobonds expert), switching to codes instead of names may cause more undesired duplicate symbols than it seems. For example, with "emitentNames" the 3M stock gets assigned two unique names for MOEX and SPFB whereas with "emitentCodes" the same stock has one shared ticker MMM. You won't be able to have the two even in separate DataSets because the data would be downloaded for just one MMM - which may be the wrong pick coming from the different exchange.

Simply put, if we switch to "emitentCodes" then provider could make unavoidable lookup errors if say a pure Russian stock or futures shares its emitent code with a U.S. symbol traded at MOEX or SPFB.
0
- ago
#12
We handle this in IB by providing a Contracts file. Couldn’t the Provider have the ability to let the use choose a priority to solve the duplicate symbol among different asset classes issue?
0
- ago
#13
Unlike IB, Finam's data isn't returned by an official API. It can be taken down by simply activating Google Recaptcha on their end just like it took place last April:

https://wl6.wealth-lab.com/Forum/Posts/38280

Considering this, it may be impractical to invest development effort into a Contracts file.
0

Reply

Bookmark

Sort