Jump to content

[API] Historical Data Allowance


Recommended Posts

I programmed a bot to automatically create and close orders for me based on several moving averages and trade momentum. I've tried to find a broker with an API for quiet a while now and I think IG might be the best choice for me, but I'm really having trouble testing my trade strategies mainly due to the low data point allowance on historical data.

The advantage of using a bot is partially its high ability for number-crunshing, but the incredibly low limit of 10,000 data points per week (~60 points per hour) is just not enough. My bot is iterating through the markets, checking for positions with positive trends. Once it finds them, I want to backtest my strategy for this position to see if the bot would have made or lost money with it. The resolution I'd need for that would be in hours, but for just one year worth of data that's 8,760 data points already and then I'd have to wait a week to get more. It's just not feasible.

I know that IG probably has these data limits to prevent people from abusing the API, but the main culprit would not be the amount of data points, but the amount of request. Is there a specific reason why historic data requests are not handled like any other request going to the API (Limited to 60 requests per minute) and instead has this weird way of handling it with data points? The current amount of data could easily be interpreted by a human looking at a chart, which deafeats the whole purpose of having a bot.

My suggestion would be to simply set the allowed amount of requests for historical data to 60 per minute, if that limit is not applied already anyway. Set the amount of data points per page to 250 (or 100, or 500, whatever you feel comfortable with) instead of letting the user decide and the just return a link to the next page like it's already being done. This way we could comfortably get all the data we need while still being throttled.

It would be great if you could consider it.

Link to comment

Maybe you can apply for a corporate account? Not sure if they charge you then though.

Email: newaccounts.uk@ig.com

Other option/workaround (although not sure if IG wants to see this :D) : Work with multiple API keys. Once one has reached its limit, swap over to the next one. Rotate like 5 keys through, at least that way you have 50,000 historical data points

Or: Look if you can optimise your query. Sometimes it's better to scan on a broad level, e.g. daily or monthly timeframe, then we you find something interesting, zoom in to a hourly or 5-minute chart or whatever it is you need for your strategy.

 

In regards to backtesting, try the backtest functionality of ProRealTime. I think it's pretty powerful. No real need to use the API imho.

Link to comment
36 minutes ago, DSchenk said:

Maybe you can apply for a corporate account? Not sure if they charge you then though.

Would a corporation account remove that limit? I imagine I'd actually need a corporation to be able to sign up for one?

36 minutes ago, DSchenk said:

Other option/workaround (although not sure if IG wants to see this :D) : Work with multiple API keys.

I do know that this is not allowed for real-time subscriptions for the lightstreamer interface, not sure about the REST API. Even with 5 accounts though, 50.000 data points per week are still rather low. It's just pretty outdated considering today's technology, but on the other hand, IG is one of very few European brokers who even have an API. It just feels a bit abandoned, because requests to raise the historical data limits are made since 2014 and my IG-Labs account is still not activated after a week, hence me giving feedback here. 😃

36 minutes ago, DSchenk said:

Look if you can optimise your query.

I'm already querying data for positions only once and then store them in my own database, so once I have the necessary historical data for one position, I'm pretty much set for it. My problem are the 40 other positions and I don't want to wait 40 weeks. A hourly resolution is the minimum I need for my strategy unfortunately. i could maybe go with 6 months for backtesting, but I'd prefer a year since I'd like to hold positions over a long period.

36 minutes ago, DSchenk said:

In regards to backtesting, try the backtest functionality of ProRealTime. I think it's pretty powerful. No real need to use the API imho.

I'm using the API to be able to completely automize the lookup of trades, strategy testing and trading. The goal would be for me to not have to do anything at all. 😃 Not sure how I would include ProRealTime into that workflow, unless they also have an API I could use for backtesting. I just need to be able to connect to stuff somehow.

Edited by Nexuscrawler
Link to comment
2 hours ago, Nexuscrawler said:

I programmed a bot to automatically create and close orders for me based on several moving averages and trade momentum. I've tried to find a broker with an API for quiet a while now and I think IG might be the best choice for me, but I'm really having trouble testing my trade strategies mainly due to the low data point allowance on historical data.

Hi, this question has come up a number of times in the past, I don't use the API but have you searched the forum for previous threads on the subject? If you get nothing on the forum search box use google with 'api data allowance' and add 'IG community'.

image.png.1f15e39ebf81733b11554404d6c2d2ab.png

  • Like 1
Link to comment
4 hours ago, Caseynotes said:

Hi, this question has come up a number of times in the past, I don't use the API but have you searched the forum for previous threads on the subject?

I did, yes, but most of these questions are about the error message you get when you exceed your data allowance, and not actually asking to raise it. The most recent question about it I could find was asked in 2014 and ended with IG saying that they'll look into it. Since it's been more than 5 years I wanted to bring it up again, because it's currently the biggest limitation you have when developing automatic trade programs.

Link to comment
1 minute ago, Nexuscrawler said:

I did, yes, but most of these questions are about the error message you get when you exceed your data allowance, and not actually asking to raise it. The most recent question about it I could find was asked in 2014 and ended with IG saying that they'll look into it. Since it's been more than 5 years I wanted to bring it up again, because it's currently the biggest limitation you have when developing automatic trade programs.

ok, I vaguely remember peeps discussing it here in the last few years and thought someone had a get round for the problem but I may be wrong, anyway there are a few api'ers check in on this forum so maybe over the weekend someone might offer up some news. Reply to this post tomorrow sometime to keep the thread up on the noticeboard so others might see it and respond.

Link to comment
  • 6 months later...

If you email them they will increase your allowance temporarily. I was using a demo account too, they might be more friendly if they can see trading/income potential.

I used to hit the limit regularly, but now I keep a database of prices, and I only need to update these daily. So I am using much less data.

edit: What assets are you looking at? Can you get data from another source?

Regarding the IG API in general, its not the best. I really like the web interface, and I used PRT for a while and liked it. But I do have a Oanda account purely because their API is much nicer!

 

Edited by Bopperz
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • image.png

  • Posts

    • Cryptocurrency is heralded for its transparency; sadly though, it is also prone to cybercriminals’ attack. Although crypto exchanges channel some resources to protect users’ assets, sophisticated attackers go extra mile to breach their security walls. On June 10th 2024, the leading CEX, OKX, confirmed that hackers gained access to the exchange by forging documents to obtain the personal information of some OKX users, draining a few accounts ultimately. A possible “Deepfakes” incident that has assentuated the need for exchanges to beef up security. Deepfakes have proven to enable sophisticated identity frauds that can escape stringent security measures. Acting proactively, exchanges like Bitget has now adopted Sumsub, an AI-powered deepfake detection that effectively detects forgery and fraud, shielding users' assets from hacks and thefts. Digital landscape is steadily evolving, necessitating the urgent need to adopt new industry safety standard. Has Bitget gone a step ahead in curbing the growing menace called Deepfakes?  https://cointelegraph.com/news/bitget-sumsub-deepfake-detection-security
    • The foreign exchange market, also known as the FX market, is the largest and most liquid market in the world, with a daily trading volume of over $6 trillion. It is a global decentralized market where individuals, businesses, and institutions trade currencies. In the FX market, participants buy and sell currencies at agreed-upon exchange rates. The exchange rate represents the value of one currency in terms of another. For example, the EUR/USD exchange rate represents the number of US dollars needed to buy one euro. There are several key players in the FX market, including: - Banks and brokerages - Hedge funds and investment firms - Multinational corporations - Central banks - Individual traders The FX market operates 24/5, with trading sessions in Tokyo, London, and New York. Currency prices fluctuate based on supply and demand, economic indicators, political events, and market sentiment. There are several types of FX transactions, including: - Spot transactions (immediate settlement) - Forward transactions (future settlement) - Swaps (exchange of principal and interest) - Options (right to buy or sell) FX trading offers various benefits, including: - Facilitating international trade and investment - Enabling currency diversification - Providing hedging opportunities - Offering speculative trading opportunities However, FX trading also involves risks, including: - Market volatility - Leverage risks - Counterparty risks - Regulatory risks In conclusion, the FX market plays a vital role in facilitating global trade and investment. Understanding the complexities of the FX market is essential for businesses, investors, and individuals navigating the global economy." Let me know if you want me to make any changes!
    • Thanks, @KoketsoIG. I'm only confused because when I wrote to the helpdesk on 6th June, they sent me a document called FX_TIERED_MARGIN_RETAIL which they said was a list of the new margin requirements that would come into effect on 11th June. It shows (Tier 1) EUR/TRY 5% and TRY/JPY 5% I think they must have sent the wrong document. Could you give me a link to the place on the website that has an up to date table of margin requirements? Best wishes, Cate  
×
×
  • Create New...
us