These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
 

Get trade volume ?

First post
Author
Never Enough
The Candle Factory
#1 - 2015-08-14 00:21:54 UTC
Is there a way to get the trade volume for a given item?
Eve-central API maybe ?
Which endpoints shall I check ?
Hel O'Ween
Men On A Mission
#2 - 2015-08-15 07:52:40 UTC
As far as I understand the CREST API (I admit that my understanding of CREST is still very limited), traded volume is available via the public CREST API: https://wiki.eveonline.com/wikiEN/index.php?title=CREST_Getting_Started.

EVEWalletAware - an offline wallet manager.

Poxs62
StarTrucks
Prometheus Allegiance
#3 - 2015-08-15 21:05:08 UTC
i woudl love to get from that url to a value based on days xxx trading into my spreadsheet...

thats is my love n goal and would happily pay 200m to somone who could code it onto existing sheets lol
ISD Supogo
ISD BH
#4 - 2015-08-16 10:41:18 UTC
Thread has been moved to EVE Technology Lab.

ISD BH Supogo

Bughunter

Equipment Certification and Anomaly Investigations Division (ECAID)

Interstellar Services Department

Lemkor Gengod
Stacmon Production and Trade Institue
#5 - 2015-08-24 01:00:37 UTC  |  Edited by: Lemkor Gengod
I haven't gt around to using CREST yet, so this information may not be accurate, however, I believe that the market data in CREST is just a representation of what can me seen in the market window. As such, it is possible to access the volume of an item sold on each day for the period of time that the data is available in the market history window.


BUT (and it is a big BUT), it will require a separate call for each typeID for each region for each day. So for example if you wanted the data for 100 typeIDs over 30 days in The Forge, you would need to make 30x100x1=3000 calls.

It wouldn't be the quickest system and I suspect that GoogleDocs would seriously struggle if you needed to manipulate a serious amount of data.

I believe that this is how it was intended by CCP. Can you imaging the markets if it was easy to calculate expected sales data. Everybody would be able to set up efficient trading supply lines which would have a catastrophic effect on Market PVP.

It is possible to calculate the figures using the EvemarketData API in GoogeDocs using a bit of 'spreadsheet-fu', (The amount of time and effort it took me to figure out, and the amount of ISK it makes me, means that 200mil isn't anywhere near how much it would cost for me to give the information up - Sorry)

Also there is a lot of data missing from that API at the moment as the owner is struggling to find time to maintain it. Updates are about 3-6 months behind and there are generally sales data missing for typeIDs in specific regions sporadically, something you need to take into consideration when setting up your sheets.

Also there is no EveCentral endpoint for it either.
Never Enough
The Candle Factory
#6 - 2015-08-24 01:15:00 UTC
Well, in the end I just ended up doing it manually.

My manufacturing tool gives me about a dozen of most profitable items to manufacture,
It is not very hard to look up trade volume for all of them in game.
Zad Murrard
Frozen Dawn Inc
Frozen Dawn Alliance
#7 - 2015-09-03 15:45:46 UTC  |  Edited by: Zad Murrard
Notes:
1. The api endpoint is not working correctly atm and returns some bogus values which cannot be trusted atm. Hopefully this is fixed soon. This issue can be helped a bit with some filtering. (in edit part)
2. I'm using here custom replacement importxml2 instead of importxml since it works more reliably
3. I have not checked whether you need transpose for the native gdocs importxml
4. Replace average with median if you think it gives more accurate result

Here's an example on how you can get the number of items sold in a region with gdocs:

In gdocs make a tab, let's call it 'ItemHistory'
Have a sheet with all the type ids you are interested, let's call it 'MyItems'
In MyItems you have the typeIDs you are interested in in range U4:U39.
In ItemHistory have the region number in cell C1.

In ItemHistory have in this in Cell B3:
=TRANSPOSE(importxml2("http://api.eve-marketdata.com/api/item_history2.xml?days=20&char_name=demo&region_ids="&C1&"&type_ids="&JOIN(",",MyItems!U4:U39), "//row/@volume | //row/@typeID"))

Depending on some things you may or may not want to have the transpose there.
Also note that max number of rows returned is 1000, so you want to make sure that the parameter days multiplied by number of items is around <= 1000. It can be slightly larger as for many items the api cannot return data from all days.

In MyItems have in cell somewhere in the row 4
=AVERAGE(Filter(ItemHistory!$B$3:$B,ItemHistory!$C$3:$C=U4))

Copy paste the function to other rows & profit

Tested for Forge but I guess it should work reasonably well for most trade hubs.

Edit: Some temporary filtering you can do for now is to add //row/@avgPrice to the importxml2 fetches so that it ends on column D and then add extra filter conditions to the statement above which compare the avgPrice to the assumed price of the item in that region (another importxml2 fetch in MyItems using different api or manually entered) to make sure that at least that one is reasonable.
yohobroo
Doomheim
#8 - 2015-10-21 19:27:05 UTC  |  Edited by: yohobroo
Edit: Got it. thanks.