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

    • I am also new to this platform.  I also have a question related to spread betting for UK tax. IG always specifically mention spread betting is exempt from capital gain tax and stamp duty but never mention income tax. Does anyone know for sure if the profits and losses in spread betting need to be reported as income?  If so, should it be the net P&L for positions that are closed within the tax year?
    • Understanding the Repo Market: A Simple Guide Imagine you have a valuable watch, but you need some quick cash to pay for a surprise expense. You go to a pawnshop and offer your watch as collateral for a short-term loan. The pawnshop gives you the cash, and you agree to buy back your watch the next day, paying a little extra for the service. This is essentially how the repo market works in the financial world. What Is the Repo Market? The repo market (short for repurchase agreement market) is a crucial part of the financial system where banks and other financial institutions borrow and lend money to each other, usually overnight. They use high-quality securities, like government bonds, as collateral to secure these loans. How Does It Work? The Borrower (Seller): Needs cash for a short period. The Lender (Buyer): Has extra cash and wants to earn a small return with minimal risk. Collateral: High-quality assets like government securities are used to secure the loan. The Process: Step 1: The borrower sells securities to the lender and receives cash. Step 2: Both parties agree that the borrower will repurchase the same securities at a future date (often the next day) at a slightly higher price. Step 3: The difference in price represents the interest paid for the loan. Why Is the Repo Market Important? Liquidity Management: It allows financial institutions to manage their day-to-day cash needs efficiently. Low Risk: Using high-quality collateral reduces the risk for lenders. Interest Rates Influence: The repo market helps central banks implement monetary policy by influencing short-term interest rates. Economic Stability: A smooth repo market ensures that money flows effectively through the financial system, supporting lending and investment. Real-World Impact Banks and Businesses: They rely on the repo market to meet short-term funding needs, which helps them operate smoothly. Consumers: While not directly involved, consumers benefit from the stability and liquidity that the repo market provides to the overall economy. Central Banks: Institutions like the Federal Reserve use the repo market as a tool to control money supply and maintain financial stability. Key Takeaways Short-Term Borrowing: The repo market is all about short-term loans, often just overnight. Secured Loans: Loans are backed by high-quality collateral, reducing risk. Essential Function: It keeps the financial system liquid and stable, much like oil in a car engine. In Summary: The repo market is like a financial "pawnshop" for big institutions. It allows banks and other entities to quickly get cash by temporarily exchanging securities, ensuring that money keeps moving through the economy. Understanding the repo market helps explain how financial institutions manage liquidity and how central banks influence interest rates to maintain economic stability. Analyst Peter Mathers TradingLounge™  Source: tradinglounge.com 
    • I've been thinking about how gamers can easily advertise their creations, and what a platform designed for that would look like. This led me to do some research, and I found something interesting. During my search, Google brought up Cros, which is described as the world's most advanced in-game advertising platform. Cross allows advertisers to reach gamers through intrinsic in-game ads that enhance the experience, while also enabling developers to monetize their games without disrupting gameplay. One key aspect is the CROS token—central to Cross's economy. The token powers staking, payments, governance, and validation within the platform. Users can earn and trade CROS by participating in the ecosystem or get it pre-market on Bitget before live trading begins on the 23rd. What do you think of this innovation?
×
×
  • Create New...
us