[TP] Item Velocities
I would suggest to check the API forum for info.
Bloin – Running around, tagging Keeps, getting whack on Scoobie Snacks.
I looked around a while back, and best I can recommend is just do it yourself, so you can get exactly what you want (provided it’s available via the API, of course). It’s a pretty simple thing to interact with.
Just out of curiosity, what exactly do you want to build? A web app? Or just a personal utility?
I would suggest to check the API forum for info.
Well, their APIs do not have the information I’m looking for, at least not directly. I plan to scrape them if needed, but I’m curious if anyone has already done this and is serving the info.
I also should mention — I posted this here since this is where the BLTC forum posts went. Since this doesn’t concern the existing GW2 APIs, I’d rather not see a mod move it.
I looked around a while back, and best I can recommend is just do it yourself, so you can get exactly what you want (provided it’s available via the API, of course). It’s a pretty simple thing to interact with.
That’s sort of what I was thinking — after all, once I have collected the raw data myself, then I can do all sorts of nasty, creative things with it…heh heh heh ;-) Always better to do it yourself, but if I could save some time while building my own infrastructure, that’s worth looking into IMO.
Just out of curiosity, what exactly do you want to build? A web app? Or just a personal utility?
Well, I’m a C++ guy, so web is beyond my abilities, and this is for personal use. I’ve got a little app that does some analysis to try to find profitable investments, but I’d really love to be able to filter out all the crap that never, ever, ever, ever sells (OMG food recipies staaaaahp) :P
I’ve never seen any public velocity estimates. I’ve talked to some people about writing up a velocity estimator as even with really detailed, second to second buy/sell listing data it’s not a trivial problem on the kinds of high volume items people really care about. Nothing has come of any of it though.
Well, I’m a C++ guy, so web is beyond my abilities, and this is for personal use. I’ve got a little app that does some analysis to try to find profitable investments, but I’d really love to be able to filter out all the crap that never, ever, ever, ever sells (OMG food recipies staaaaahp) :P
No way, bro! Web is easy, you could totally do it! But yeah, if it’s just for you to use, there’s no real reason to make a web app anyway.
Also, C++ might be a little rough for doing something like this. I would recommend a scripting language, like Python or Ruby, since it’s all just HTTP calls and presumably simple algorithms. Unless your other app you mentioned is already C++, which I should have realized before submitting this the first time, lol.
Anyway, good luck!
I’ve never seen any public velocity estimates. I’ve talked to some people about writing up a velocity estimator as even with really detailed, second to second buy/sell listing data it’s not a trivial problem on the kinds of high volume items people really care about. Nothing has come of any of it though.
Heh, I have feeling that ArenaNet wouldn’t be too thrilled if I tried to collect second-to-second data. I was thinking more along the lines of 10-20 minute scrapes like spidy/gw2tp do. I think that should be infrequent enough so as not to strain their servers, while at the same time collecting a reasonable amount of high-traffic items (e.g. silk, ectos, etc) to show that they have a high velocity. It won’t be close to an accurate measurement of those items’ actual velocities, but it will still show them as very high.
I’m more interest in just being able to have a velocity estimate attached to the items when they come up in my results tables so I can more easily weed out the low-demand items without having to check gw2tp.net every time. I think that’s a much easier problem to solve than trying to do some sort of rapid buy/sell trading.
Well, I’m a C++ guy, so web is beyond my abilities, and this is for personal use. I’ve got a little app that does some analysis to try to find profitable investments, but I’d really love to be able to filter out all the crap that never, ever, ever, ever sells (OMG food recipies staaaaahp) :P
No way, bro! Web is easy, you could totally do it! But yeah, if it’s just for you to use, there’s no real reason to make a web app anyway.
Also, C++ might be a little rough for doing something like this. I would recommend a scripting language, like Python or Ruby, since it’s all just HTTP calls and presumably simple algorithms. Unless your other app you mentioned is already C++, which I should have realized before submitting this the first time, lol.
Pure C++ baby. That’s my day job, so I’m just more comfortable with it. Plus there’s jsoncpp and Qt’s newish networking core that make the more tedious bits easier. I totally agree that python would be far better suited for this sort of thing, but familiarity wins out :-)
Heh, I have feeling that ArenaNet wouldn’t be too thrilled if I tried to collect second-to-second data. I was thinking more along the lines of 10-20 minute scrapes like spidy/gw2tp do. I think that should be infrequent enough so as not to strain their servers, while at the same time collecting a reasonable amount of high-traffic items (e.g. silk, ectos, etc) to show that they have a high velocity. It won’t be close to an accurate measurement of those items’ actual velocities, but it will still show them as very high.
If you just want to filter out very low velocity items then 10 minute scrapes should be fine. I can tell you from the limited data that I have that 1 second scrapes are barely good enough to get a good estimate of the ecto market, and nowhere near good enough to estimate the really high volume stuff like silk and mithril. Markets in this game move fast.
I wish I had some programming experience or the time to learn cause getting a good idea on the velocity of some items, or even a search app for item velocities, would be a big help with my TP endeavors. If you would like to share your product I would definitely be interested. :-)
I guess you know that interpreting the change in supply and demand for an item as velocity isnt neccessarily true because people can take down old listings and old buy orders.
However, if you only account for volume reductions to the highest bid and lowest listing, you will be able to much more accurately calculate real sales as those listings are unlikely to be taken down but rather filled by a transaction.
Not sure if that is possible through api, though.
Bloin – Running around, tagging Keeps, getting whack on Scoobie Snacks.
I guess you know that interpreting the change in supply and demand for an item as velocity isnt neccessarily true because people can take down old listings and old buy orders.
However, if you only account for volume reductions to the highest bid and lowest listing, you will be able to much more accurately calculate real sales as those listings are unlikely to be taken down but rather filled by a transaction.Not sure if that is possible through api, though.
There are APIs for retrieving full listings (e.g. 25 items listed for 1s24c, 45 items for 1s25c, 267 items for 1s30c, etc — see this endpoint).
At this point I’m planning on just using the total number of buy/sell orders from this endpoint as an estimate to reduce API calls / computational expense / storage space, though your post makes a valid point. If those events are happening with such volume/frequency that it’s throwing off my estimates, it may indeed be worth doing a more detailed analysis of the raw listings. However, I have a feeling that such events will be negligible considering the low level of detail that I’m interested in.
As for sharing the code, it’s rather specialized/niche at the moment, and having multiple people scraping the TP’s supply of items I’m working with would ruin it for everyone :-( I’d love to see transaction info added to the API’s so everyone could have a clear idea of item movement, but I’m not sure how much data they’re willing to put out.
I’m always a bit hesitant about things such as this. As we’ve been told playing the tp is just as valid as any other play style. Given that some api tools give advantages to players that use them over those that do not, I am…well hesitant.
I’m always a bit hesitant about things such as this. As we’ve been told playing the tp is just as valid as any other play style. Given that some api tools give advantages to players that use them over those that do not, I am…well hesitant.
Players who use a world boss timer for example, also have a huge advantage over those that dont in terms of visiting those events in a timely fashion.
I would also think that always having the highest bid, lowest listing on an item will give you a way better understanding of item velocity than any api spreadsheet ever can.
Bloin – Running around, tagging Keeps, getting whack on Scoobie Snacks.
I agree timers do. Thankfully they are made publicly available. I am not so sure all tp api tools are though. It also begs the question of “where is the line drawn?”. If an api if allowed that notifies you when other players input data to the tp, why not one that allows you to see when they have blown their CD’s in a match?
Well, for one thing, these API’s don’t provide any additional information that isn’t already available. All of the listings are available in game through the trading post UI, whereas an PvP opponent’s skills/cooldowns/etc are not explicitly available in-game (though knowledge of a class will help in that regard).
I’m sort of intentionally missing your point here, which is that bulk retrieval and analysis of listing data is much more efficient than manually searching the listings in game. I suppose my best counter to that is to point out that these APIs are available to all — and just like a PvP player can improve his ranking by learning classes/skill/cooldowns and how to counter them, a TP player can improve their performance by learning a programming language and maths and building an analysis tool themselves.
Just like PvP performance is (usually) not a innate ability and most players must practice and learn, the same can be said of TP play :-)
And I’ll point out that this isn’t something that I just sat down and spent an hour making. I’ve put dozens of hours into this project, just as a successful PvPer will put dozens of hours of practice into “gitting gud”. I admit that I do have an advantage over more casual TP’rs with this application, but I also spent a lot of time doing what anyone out there could do, given sufficient motivation :-)