Generate DataSources programatically based on Industry
Author: ss161
Creation Date: 3/15/2009 8:07 PM
profile picture

ss161

#1
i have a dataset with about 1500 names through which i want to search for good pair trades. i've written programs to do this where for each name i get it's industry, then create a subset list of all the other names in this dataset within the industry, and then loop through each name in the subset searching for suitable pairs. All this works great one name at a time, but when i run it against the entire dataset (in multisymbol backtest mode) i quickly generate system.outofmemory errors.

so, what i want to do, is write a short script that will let me click on an existing watchlist symbol, and loop through that entire watchlist and generate a new datasource for each IndustrySubGroup in the list that would contain all the symbols for that Industry SubGroup. I can then run my Pair script one at a time through each industry subgroup (much more manageable than running it 1500 times manually). But, I can't figure out how to generate DataSources programatically.

Here is the code so far:

CODE:
Please log in to see this code.


Would someone point me to some documentation that might describe how i can create these datasources? thanks for the help.

Steve

profile picture

Eugene

#2
Steve,

DataSets are created by data providers. The API documentation isn't available, please call Fidelity directly on this one.
profile picture

Cone

#3
CODE:
Please log in to see this code.
This isn't a feature offered by Version 5 presently. What you could do is look at an example xml file in the \Data\DataSets folder and create several yourself as you suggest. You'll have to restart WLP after creating new DataSets in that manner for them to be recognized.

I've got to do something like this anyway for the TeleChart Industry Groups, so probably tomorrow I can post something that you can use in a script.
profile picture

ss161

#4
i appreciate the help. I'm trying to use Dave Aronow's WatchList.dll as it seems to include what i am trying to do, which is reference an existing datasource to create the new datasource. Here's where i've gotten to, but it still is not working. I don't think i can set some of the attributes directly like i am doing.

CODE:
Please log in to see this code.



Steve
profile picture

traderray

#5
I have many scripts where I use the WLP4 Watchlist commands. I have been holding off on implementing these scripts in WLP5 until the Watchlist commands are implemented in WLP5 rather than trying to change the way the scripts work now with the Watchlist commands.

Will the WLP4 Watchlist commands be added to WLP5?
profile picture

Cone

#6
As far as I can tell, these functions are not on the radar for Version 5.
profile picture

traderray

#7
I use the Watchlist commands in WL4 a lot. I would like to see the decision to not include them
in WL5 reconsidered. They would be a significant addition.
profile picture

Eugene

#8
Then you need to let Fidelity know it's still important for you.

Nonetheless, you still can:

Loop by DataSetSymbols
Use Dave Aronow's watchlist provider
WatchListName = GetDataSetName
WatchListSymbol = DataSetSymbols[i]
WatchListCount = DataSetSymbols.Count

WatchListSelect, WatchListRemoveSymbol, WatchListDelete, WatchListClear, WatchListAddSymbol = N/A
profile picture

ss161

#9
I believe Dave Aronow's Watchlist dll can replicate all of the functionality of the WL4 watchlist commands, if / as i figure out how to use it, i'll post.
profile picture

traderray

#10
I make extensive use of the Watchlist commands shown above as N/A. Many of my scripts
cannot be duplicated in WL5 without these commands.

I have called Fidelity and told them that these commands are important. Anyone else
that uses these commands might also call Fidelity to help the cause.
This website uses cookies to improve your experience. We'll assume you're ok with that, but you can opt-out if you wish (Read more).