Code Monkey home page Code Monkey logo

duka's People

Contributors

evianzhow avatar giuse88 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

duka's Issues

-c M1 problem

When I add -c M1 it gives me the error that says error : argument Not a valid Time frame : 1M

How should I add this to get 1 minute chart instead of tick data?

Error msg not helpfull

In duka/duka/core/utils.py
the error message for the candle timeframe is
'duka: error: argument -c/--candle: Not a valid time frame: '5M'. '

but the help (duka -h)

-c CANDLE, --candle CANDLE
use candles instead of ticks. Accepted values 1M 5M
10M 15M 30M 1H 4H

That is confusing until you read the code and see that it should be M5

in main.py
help='use candles instead of ticks. Accepted values M1 M5 M10 M15 M30 H1 H4',

Ongoing development

Hi there Mr. Developer sir,

Is development still ongoing?

I have made some changes to the code to fit my needs, and was wondering how to upload these, with a changelog? If you are interested of course :)

Cheers

Some instruments have wrong point scales

When I try to download the XAUUSD data, the result came like below:

2017-02-01 00:00:00.108000,12.11841,12.11539,370,370
......

Actually the bid price is 1211.841 instead of 12.11841.

I've done a little research about this, and I figured out that the point scale used by Dukascopy varies from instruments to instruments. Usually XAUUSD should be multiplied by 0.001.

Here comes the wrong one: https://github.com/giuse88/duka/blob/master/duka/core/processor.py#L64
And another correct example is here: https://github.com/FX31337/FX-BT-Scripts/blob/master/convert_bi5_to_csv.php#L104

I'll try to fix this issue as long as I've got spare time, but don't expect too much! :)

CSV format

Hi y'all,
I was downloading a few dataset to test out a strategy, but I cannot find anywhere an explanation on how the data are constructed.
I got a CSV with no headers, so I can't tell if the candles are OHLC or OLHC or HLOC or whatever other permutation of those.
Maybe somebody can shed some light on this?
Thanks in advance.

Ah, FWIW this is the command I used to get the dataset I was about to backtest my strat onto:

duka GBPJPY -s 2018-01-01 -e 2022-12-01 -t 2 -c D1

Local time issue investigation

I’ve rebased release–2.1 branch into master, all my investigation is base on that state. Replicate that step if you needed.

In duka/ore/processor.py, if the user added --local-time to the command line, the program just replace the ticks timezone, which called tzinfo with tz.tzlocal(). But we did it in a wrong way. .replace() function will return a new object, which is the modified one. That means the statements does nothing. Just changing the line to an assignment one still doesn’t work. The problem is much more complex. Let’s me explain this to you.

In Dukascopy Historical Data Feed, which duka intentionally want to be its command-line alternative one, treats local time options differently than our current implementation. Our target is to generate the same result as the official one.

Here’s the scenario: I’ve been live in a UTC+8 country, I want to download XAU/USD candlesticks data from date 2017–09–06 to 2017–09–07, and the timeframe I need is 4 hours.

If I chose Local option on the official tool, I’will get something like this:

Local time  Open  High  Low Close Volume
06.09.2017 00:00:00.000 1335.251  1344.328  1335.151  1340.958  18168971.97
06.09.2017 04:00:00.000 1340.898  1342.172  1338.062  1341.571  4586580.001
06.09.2017 08:00:00.000 1341.569  1342.429  1337.639  1337.761  8711390.002
06.09.2017 12:00:00.000 1337.762  1339.498  1336.299  1337.438  9259679.997
06.09.2017 16:00:00.000 1337.418  1341.828  1337.261  1339.292  13025489.99
06.09.2017 20:00:00.000 1339.292  1340.892  1335.888  1339.868  19017017.99
07.09.2017 00:00:00.000 1339.868  1340.238  1331.598  1334.172  14472906.98
07.09.2017 04:00:00.000 1334.171  1334.572  1332.501  1333.401  3560730.003
07.09.2017 08:00:00.000 1333.388  1335.878  1332.591  1334.808  8341879.984
07.09.2017 12:00:00.000 1334.828  1338.179  1333.978  1337.429  10472150
07.09.2017 16:00:00.000 1337.438  1340.361  1336.971  1338.631  11213249.98
07.09.2017 20:00:00.000 1338.632  1349.328  1338.632  1346.978  24777360.03

If i chose GMT:

Gmt time  Open  High  Low Close Volume
06.09.2017 00:00:00.000 1341.569  1342.429  1337.639  1337.761  8711390.002
06.09.2017 04:00:00.000 1337.762  1339.498  1336.299  1337.438  9259679.997
06.09.2017 08:00:00.000 1337.418  1341.828  1337.261  1339.292  13025489.99
06.09.2017 12:00:00.000 1339.292  1340.892  1335.888  1339.868  19017017.99
06.09.2017 16:00:00.000 1339.868  1340.238  1331.598  1334.172  14472906.98
06.09.2017 20:00:00.000 1334.171  1334.572  1332.501  1333.401  3560730.003
07.09.2017 00:00:00.000 1333.388  1335.878  1332.591  1334.808  8341879.984
07.09.2017 04:00:00.000 1334.828  1338.179  1333.978  1337.429  10472150
07.09.2017 08:00:00.000 1337.438  1340.361  1336.971  1338.631  11213249.98
07.09.2017 12:00:00.000 1338.632  1349.328  1338.632  1346.978  24777360.03
07.09.2017 16:00:00.000 1346.981  1349.522  1342.378  1348.218  13315830.04
07.09.2017 20:00:00.000 1348.118  1349.839  1347.309  1348.838  3759689.994

Current program implementation will output something like this:

06.09.2017 08:00:00.000 1341.569  1342.429  1337.639  1337.761  8711390.002
06.09.2017 12:00:00.000 1337.762  1339.498  1336.299  1337.438  9259679.997
06.09.2017 16:00:00.000 1337.418  1341.828  1337.261  1339.292  13025489.99
06.09.2017 20:00:00.000 1339.292  1340.892  1335.888  1339.868  19017017.99
07.09.2017 00:00:00.000 1339.868  1340.238  1331.598  1334.172  14472906.98
07.09.2017 04:00:00.000 1334.171  1334.572  1332.501  1333.401  3560730.003
07.09.2017 08:00:00.000 1333.388  1335.878  1332.591  1334.808  8341879.984
07.09.2017 12:00:00.000 1334.828  1338.179  1333.978  1337.429  10472150
07.09.2017 16:00:00.000 1337.438  1340.361  1336.971  1338.631  11213249.98
07.09.2017 20:00:00.000 1338.632  1349.328  1338.632  1346.978  24777360.03
07.10.2017 00:00:00.000 1346.981  1349.522  1342.378  1348.218  13315830.04
07.10.2017 04:00:00.000 1348.118  1349.839  1347.309  1348.838  3759689.994

It’s quite obvious that Line 1 at GMT is correspondent to Line 3 at Local, then Line 2 is to Line 4, etc.. We can easily conclude that, if the user wants a local version of data, he actually wants the data begins from the midnight of the start date and ends to the midnight of the end date in his locale.

Then I started changing some related code. Like in duka/ore/processor.py, instead of simply fetching range(0, 24) hours, I changed to an more precise day-and-hour way. First converting user-inputted start date and end date to datetime instances with local timezone tzinfo, then convert to GMT start datetime and end datetime.

Under fetch.py:

    if local_time:
        day = datetime.combine(day, datetime.min.time())  # convert to datetime, with start at midnight
        day = day.replace(tzinfo=tz.tzlocal())
        day = day.astimezone(tz.tzoffset(None, 0))
    tasks = []
    for i in range(0, 24):
        delta_day = day + timedelta(hours=i)
        url_info = {
            'currency': symbol,
            'year': delta_day.year,
            'month': delta_day.month - 1,
            'day': delta_day.day,
            'hour': delta_day.hour
        }
        tasks.append(asyncio.ensure_future(get(URL.format(**url_info))))

I tried after these modifies but still not working as expected. I’ve find something interesting. Since we don’t preserve each fetch results return state (we just adding its serialized result to BufferIO buffer), we need add_hour function to keep the final result hour part correct. And current implementation is under the assumption of market opens at the beginning of GMT day (hour_delta = 0 on Line 42, under duka/ore/processor.py) and always closes at the end of GMT day.

I’m confused by this function pretty much, here’s some reasons:

  1. Why we could just assume hour_delta begins from zero, is there any possibility that some market doesn't begin at GMT midnight?
  2. add_hours function treats ticks[0] differently if ticks[0] is Saturday or the first day of an year. Why?
  3. Since we don’t preserve fetch results return state. We don’t know whether the result returns empty or data. It’s all being combined or reduced! In the above scenario, XAU/USD market closed at 5 a.m. and re-opened at 6 a.m. in my locale, but current implementation will output the market closed at 11 pm. and re-opened at midnight. When encounter Monday, it will output the market closed at 6 p.m.. This question is actually the same and Question 1.

To resolve that issue, I think the program will need quite a large refactor, and I like to hear the opinions from original author and the community.

what does default data columns mean ?

hi, dude,

very thanks your wonderful tool, but i have some confusion about download data.
like this

2018-07-27 00:00:00.254000,1.16438,1.16436,1500000,2620000
2018-07-27 00:00:00.548000,1.16438,1.16434,7610000,1500000
2018-07-27 00:00:00.914000,1.16435,1.16432,1250000,3070000

what does each columns mean? is there no any document to describe this.

can you describe more information? columns mean and units mean

thanks

Add candle output

It would be nice to have the option to aggregate ticks with different timeframe. For example, I could add a command line option like :

--timeframe=M1 // for 1M
--timeframe=M2 // for 2M
--timeframe=H1 // 1 hour
--timeframe=T30 // 30 ticks

List of symbols; Correct Time

Great work, but two issues:

  1. Apparently time starts each day at 00:00:00 and hours are not taken from the filename but just incremeted. This does not work properly for example for german shares since they are not traded 24 hours. It would be better if the hour would be taken from the file name.
  2. Pip value is different for different symbols, therefore a kind of configuration is needed. it can be for example in csv file. There is are actual symbols:

symbol, description, group, start available tick data, pip value
UNANLEUR,Unilever NV,Netherlands,18.11.2016,0.01
RANDNLEUR,Randstad Holding NV,Netherlands,02.03.2017,0.01
RDSANLEUR,Royal Dutch Shell PLC,Netherlands,18.11.2016,0.01
PHIANLEUR,Koninklijke Philips NV,Netherlands,02.03.2017,0.01
ASMLNLEUR,ASML Holding NV,Netherlands,02.03.2017,0.01
VPKNLEUR,Koninklijke Vopak NV,Netherlands,18.11.2016,0.01
WKLNLEUR,Wolters Kluwer NV,Netherlands,18.11.2016,0.01
KPNNLEUR,Koninklijke KPN NV,Netherlands,02.01.2017,0.01
INGANLEUR,ING Groep NV,Netherlands,28.11.2016,0.01
AKZANLEUR,Akzo Nobel NV,Netherlands,02.03.2017,0.01
RENNLEUR,RELX NV,Netherlands,18.11.2016,0.01
HEIANLEUR,Heineken NV,Netherlands,02.03.2017,0.01
MTNLEUR,ArcelorMittal,Netherlands,18.11.2016,0.01
AGNNLEUR,Aegon NV,Netherlands,02.03.2017,0.01
DSMNLEUR,Koninklijke DSM NV,Netherlands,30.12.2016,0.01
GTONLEUR,Gemalto NV,Netherlands,02.03.2017,0.01
AHNLEUR,Koninklijke Ahold Delhaize NV,Netherlands,19.12.2016,0.01
ULNLEUR,Unibail-Rodamco SE,Netherlands,18.11.2016,0.01
SANFREUR,Sanofi,France,05.08.2016,0.01
EIFREUR,Essilor International SA,France,08.11.2016,0.01
CAFREUR,Carrefour SA,France,08.11.2016,0.01
BNPFREUR,BNP Paribas SA,France,30.09.2016,0.01
SUFREUR,Schneider Electric SA,France,05.08.2016,0.01
LIFREUR,Klepierre,France,05.08.2016,0.01
ACAFREUR,Credit Agricole SA,France,30.09.2016,0.01
PUBFREUR,Publicis Groupe SA,France,05.08.2016,0.01
GLEFREUR,Societe Generale SA,France,08.11.2016,0.01
ACFREUR,Accor SA,France,11.08.2016,0.01
AIFREUR,Air Liquide SA,France,30.09.2016,0.01
LRFREUR,Legrand SA,France,12.08.2016,0.01
CSFREUR,AXA SA,France,07.11.2016,0.01
KERFREUR,Kering,France,08.11.2016,0.01
ORAFREUR,Orange SA,France,05.08.2016,0.01
SAFFREUR,Safran SA,France,05.08.2016,0.01
FPFREUR,Total SA,France,08.11.2016,0.01
AIRFREUR,Airbus Group SE,France,30.09.2016,0.01
ALOFREUR,Alstom SA,France,27.09.2016,0.01
UGFREUR,Peugeot SA,France,05.08.2016,0.01
CAPFREUR,Cap Gemini SA,France,08.11.2016,0.01
RNOFREUR,Renault SA,France,05.08.2016,0.01
FRFREUR,Valeo SA,France,08.11.2016,0.01
RIFREUR,Pernod-Ricard SA,France,05.08.2016,0.01
ENGIFREUR,Engie,France,07.11.2016,0.01
ORFREUR,L'Oreal SA,France,05.08.2016,0.01
VKFREUR,Vallourec SA,France,05.08.2016,0.01
AFFREUR,Air France-KLM,France,27.09.2016,0.01
BNFREUR,Danone SA,France,30.09.2016,0.01
EDFFREUR,Electricite de France SA,France,11.10.2016,0.01
MCFREUR,LVMH Moet Hennessy Louis Vuitton SA,France,05.08.2016,0.01
VIEFREUR,Veolia Environnement SA,France,05.08.2016,0.01
VIVFREUR,Vivendi SA,France,05.08.2016,0.01
ENFREUR,Bouygues SA,France,08.11.2016,0.01
SGOFREUR,Cie de St-Gobain,France,08.11.2016,0.01
DGFREUR,Vinci SA,France,07.11.2016,0.01
GFSGBGBX,G4S PLC,UK,07.07.2016,0.01
RBSGBGBX,Royal Bank of Scotland Group PLC,UK,08.07.2016,0.01
RELGBGBX,Reed Elsevier PLC,UK,08.07.2016,0.01
CNAGBGBX,Centrica PLC,UK,07.07.2016,0.01
KGFGBGBX,Kingfisher PLC,UK,07.07.2016,0.01
BNZLGBGBX,Bunzl PLC,UK,06.07.2016,0.01
FRESGBGBX,Fresnillo PLC,UK,07.07.2016,0.01
ABFGBGBX,Associated British Foods PLC,UK,30.06.2016,0.01
RBGBGBX,Reckitt Benckiser Group PLC,UK,06.07.2016,0.01
ITVGBGBX,ITV PLC,UK,07.07.2016,0.01
HMSOGBGBX,Hammerson PLC,UK,07.07.2016,0.01
CPIGBGBX,Capita PLC,UK,07.07.2016,0.01
MRWGBGBX,WM Morrison Supermarkets PLC,UK,07.07.2016,0.01
DGEGBGBX,Diageo PLC,UK,06.07.2016,0.01
SHPGBGBX,Shire PLC,UK,06.07.2016,0.01
RSAGBGBX,RSA Insurance Group PLC,UK,07.07.2016,0.01
BRBYGBGBX,Burberry Group PLC,UK,08.07.2016,0.01
HSBAGBGBX,HSBC Holdings PLC,UK,07.07.2016,0.01
LLOYGBGBX,Lloyds Banking Group PLC,UK,08.07.2016,0.01
GSKGBGBX,GlaxoSmithKline PLC,UK,06.07.2016,0.01
CRDAGBGBX,Croda International PLC,UK,01.11.2016,0.01
EXPNGBGBX,Experian PLC,UK,08.07.2016,0.01
AHTGBGBX,Ashtead Group PLC,UK,08.07.2016,0.01
ISATGBGBX,Inmarsat PLC,UK,08.07.2016,0.01
BPGBGBX,BP PLC,UK,07.07.2016,0.01
LSEGBGBX,London Stock Exchange Group PLC,UK,06.07.2016,0.01
IHGGBGBX,InterContinental Hotels Group PLC,UK,01.11.2016,0.01
ADMGBGBX,Admiral Group PLC,UK,14.07.2016,0.01
SKYGBGBX,Sky Plc,UK,07.07.2016,0.01
BATSGBGBX,British American Tobacco PLC,UK,06.07.2016,0.01
IAGGBGBX,International Consolidated Airlines Grou,UK,08.11.2016,0.01
CRHGBGBX,CRH PLC,UK,06.07.2016,0.01
SNGBGBX,Smith & Nephew PLC,UK,08.07.2016,0.01
ADNGBGBX,Aberdeen Asset Management PLC,UK,25.10.2016,0.01
AZNGBGBX,AstraZeneca PLC,UK,08.07.2016,0.01
RIOGBGBX,Rio Tinto PLC,UK,06.07.2016,0.01
BABGBGBX,Babcock International Group PLC,UK,07.07.2016,0.01
ITRKGBGBX,Intertek Group PLC,UK,06.07.2016,0.01
SGEGBGBX,Sage Group PLC/The,UK,08.07.2016,0.01
CPGGBGBX,Compass Group PLC,UK,08.07.2016,0.01
AALGBGBX,Anglo American PLC,UK,30.06.2016,0.01
RRSGBGBX,Randgold Resources Ltd,UK,06.07.2016,0.01
EZJGBGBX,easyJet PLC,UK,08.07.2016,0.01
ANTOGBGBX,Antofagasta PLC,UK,07.07.2016,0.01
BLNDGBGBX,British Land Co PLC,UK,08.07.2016,0.01
SLGBGBX,Standard Life PLC,UK,07.07.2016,0.01
RDSBGBGBX,Royal Dutch Shell PLC,UK,01.11.2016,0.01
IMTGBGBX,Imperial Brands Plc,UK,06.07.2016,0.01
CCLGBGBX,Carnival PLC,UK,06.07.2016,0.01
BTGBGBX,BT Group PLC,UK,07.07.2016,0.01
MNDIGBGBX,Mondi PLC,UK,08.07.2016,0.01
LGENGBGBX,Legal & General Group PLC,UK,07.07.2016,0.01
SBRYGBGBX,J Sainsbury PLC,UK,07.07.2016,0.01
PSNGBGBX,Persimmon PLC,UK,08.07.2016,0.01
RMGGBGBX,Royal Mail PLC,UK,07.07.2016,0.01
RRGBGBX,Rolls-Royce Holdings PLC,UK,08.07.2016,0.01
PSONGBGBX,Pearson PLC,UK,07.07.2016,0.01
NXTGBGBX,Next PLC,UK,06.07.2016,0.01
BARCGBGBX,Barclays PLC,UK,08.07.2016,0.01
AGKGBGBX,Aggreko PLC,UK,14.07.2016,0.01
GLENGBGBX,Glencore PLC,UK,07.07.2016,0.01
LANDGBGBX,Land Securities Group PLC,UK,07.07.2016,0.01
SMINGBGBX,Smiths Group PLC,UK,08.07.2016,0.01
BAGBGBX,BAE Systems PLC,UK,08.07.2016,0.01
GKNGBGBX,GKN PLC,UK,07.07.2016,0.01
NGGBGBX,National Grid PLC,UK,07.07.2016,0.01
OMLGBGBX,Old Mutual PLC,UK,07.07.2016,0.01
PFCGBGBX,Petrofac Ltd,UK,08.07.2016,0.01
BLTGBGBX,BHP Billiton PLC,UK,06.07.2016,0.01
AVGBGBX,Aviva PLC,UK,07.07.2016,0.01
PRUGBGBX,Prudential PLC,UK,07.07.2016,0.01
MKSGBGBX,Marks & Spencer Group PLC,UK,07.07.2016,0.01
AMZNUSUSD,AMAZON.COM INC,US,28.02.2017,0.01
GILDUSUSD,GILEAD SCIENCES INC,US,01.03.2017,0.01
EWJUSUSD,iShares MSCI Japan ETF,US,01.03.2017,0.01
XLIUSUSD,Industrial Select Sector SPDR Fund,US,01.03.2017,0.01
IWMUSUSD,iShares Russell 2000 ETF,US,01.03.2017,0.01
BACUSUSD,BANK OF AMERICA CORP,US,01.03.2017,0.01
XIVUSUSD,VelocityShares Daily Inverse VIX Short Term ETN,US,01.03.2017,0.01
XLPUSUSD,Consumer Staples Select Sector SPDR Fund,US,01.03.2017,0.01
USOUSUSD,United States Oil,US,01.03.2017,0.01
AVGOUSUSD,Broadcom Limited,US,01.03.2017,0.01
CMCSAUSUSD,COMCAST CORP-CLASS A,US,01.03.2017,0.01
NFLXUSUSD,NETFLIX INC,US,01.03.2017,0.01
EFAUSUSD,iShares MSCI EAFE ETF,US,01.03.2017,0.01
IYRUSUSD,iShares U.S. Real Estate ETF,US,01.03.2017,0.01
JNJUSUSD,JOHNSON & JOHNSON,US,01.03.2017,0.01
GSUSUSD,GOLDMAN SACHS GROUP INC,US,01.03.2017,0.01
AMGNUSUSD,AMGEN INC,US,01.03.2017,0.01
EWZUSUSD,iShares MSCI Brazil Capped,US,01.03.2017,0.01
IBMUSUSD,INTL BUSINESS MACHINES CORP,US,01.03.2017,0.01
WFCUSUSD,WELLS FARGO & CO,US,01.03.2017,0.01
TSLAUSUSD,TESLA MOTORS INC,US,01.03.2017,0.01
JNKUSUSD,SPDR Barclays Capital High Yield Bond ETF,US,01.03.2017,0.01
QQQUSUSD,PowerShares QQQ ETF,US,01.03.2017,0.01
XOPUSUSD,SPDR S&P Oil & Gas Explor & Prodtn ETF,US,01.03.2017,0.01
CSCOUSUSD,CISCO SYSTEMS INC,US,01.03.2017,0.01
KOUSUSD,COCA-COLA CO/THE,US,01.03.2017,0.01
ABEVUSUSD,Ambev S.A.,US,01.03.2017,0.01
SPYUSUSD,SPDR S&P 500 ETF,US,16.02.2017,0.01
GOOGUSUSD,ALPHABET INC-CL C,US,01.03.2017,0.01
XOMUSUSD,EXXON MOBIL CORP,US,01.03.2017,0.01
GOOGLUSUSD,ALPHABET INC-CL A,US,01.03.2017,0.01
PFEUSUSD,PFIZER INC,US,01.03.2017,0.01
PGUSUSD,PROCTER & GAMBLE CO/THE,US,01.03.2017,0.01
INTCUSUSD,INTEL CORP,US,01.03.2017,0.01
GDXUSUSD,VanEck Vectors Gold Miners ETF,US,01.03.2017,0.01
NVDAUSUSD,NVIDIA CORP,US,01.03.2017,0.01
BABAUSUSD,ALIBABA GROUP HOLDING-SP ADR,US,01.03.2017,0.01
PCLNUSUSD,PRICELINE GROUP INC/THE,US,01.03.2017,0.01
EEMUSUSD,iShares MSCI Emerging Markets ETF,US,01.03.2017,0.01
AZNUSUSD,AstraZeneca PLC,US,01.03.2017,0.01
MSFTUSUSD,MICROSOFT CORP,US,01.03.2017,0.01
VALEUSUSD,Vale S.A.,US,01.03.2017,0.01
DISUSUSD,WALT DISNEY CO/THE,US,01.03.2017,0.01
BAUSUSD,Boeing Co,US,28.02.2017,0.01
AAPLUSUSD,APPLE INC,US,28.02.2017,0.01
HDUSUSD,HOME DEPOT INC,US,01.03.2017,0.01
BBDUSUSD,Banco Bradesco S.A.,US,01.03.2017,0.01
VUSUSD,VISA INC-CLASS A SHARES,US,01.03.2017,0.01
CUSUSD,CITIGROUP INC,US,01.03.2017,0.01
TUSUSD,AT&T INC,US,01.03.2017,0.01
PBRUSUSD,Petroleo Brasileiro S.A.,US,01.03.2017,0.01
CVXUSUSD,CHEVRON CORP,US,01.03.2017,0.01
VXXUSUSD,iPath S&P 500 VIX ST Futures ETN,US,01.03.2017,0.01
ITUBUSUSD,Itau Unibanco Holding S.A.,US,01.03.2017,0.01
LVSUSUSD,Las Vegas Sands Corp.,US,01.03.2017,0.01
CSUSUSD,Credit Suisse Group AG,US,01.03.2017,0.01
FBUSUSD,FACEBOOK INC-A,US,01.03.2017,0.01
FXIUSUSD,iShares China Large-Cap ETF,US,01.03.2017,0.01
ALXNUSUSD,ALEXION PHARMACEUTICALS INC,US,01.03.2017,0.01
GEUSUSD,GENERAL ELECTRIC CO,US,01.03.2017,0.01
GLDUSUSD,SPDR Gold Shares ETF,US,01.03.2017,0.01
JPMUSUSD,JPMORGAN CHASE & CO,US,01.03.2017,0.01
TLTUSUSD,iShares 20+ Year Treasury Bond ETF,US,01.03.2017,0.01
XLFUSUSD,Financial Select Sector SPDR Fund,US,01.03.2017,0.01
GDXJUSUSD,VanEck Vectors Junior Gold Miners ETF,US,01.03.2017,0.01
GIVNCHCHF,Givaudan SA,Switzerland,30.05.2016,0.01
NESNCHCHF,Nestle SA,Switzerland,30.05.2016,0.01
SLHNCHCHF,Swiss Life Holding AG,Switzerland,30.05.2016,0.01
ZURNCHCHF,Zurich Insurance Group AG,Switzerland,21.08.2015,0.01
ABBNCHCHF,ABB Ltd,Switzerland,30.05.2016,0.01
LHNCHCHF,Lafarge Holcim Ltd,Switzerland,30.05.2016,0.01
ROGCHCHF,Roche Holding AG,Switzerland,30.05.2016,0.01
BAERCHCHF,Julius Baer Group Ltd,Switzerland,30.05.2016,0.01
LONNCHCHF,Lonza Group AG,Switzerland,30.05.2016,0.01
SCMNCHCHF,Swisscom AG,Switzerland,30.05.2016,0.01
ADENCHCHF,Adecco SA,Switzerland,30.05.2016,0.01
CSGNCHCHF,Credit Suisse Group AG,Switzerland,30.05.2016,0.01
GALNCHCHF,Galenica AG,Switzerland,30.05.2016,0.01
KNINCHCHF,Kuehne + Nagel International AG,Switzerland,30.05.2016,0.01
SOONCHCHF,Sonova Holding AG,Switzerland,30.05.2016,0.01
SRENCHCHF,Swiss Re AG,Switzerland,30.05.2016,0.01
NOVNCHCHF,Novartis AG,Switzerland,30.05.2016,0.01
UHRCHCHF,Swatch Group AG/The,Switzerland,30.05.2016,0.01
ATLNCHCHF,Actelion Ltd,Switzerland,30.05.2016,0.01
SGSNCHCHF,SGS SA,Switzerland,30.05.2016,0.01
SYNNCHCHF,Syngenta AG,Switzerland,02.11.2015,0.01
UBSGCHCHF,UBS Group AG,Switzerland,05.02.2016,0.01
SIKCHCHF,Sika AG,Switzerland,30.05.2016,0.01
CLNCHCHF,Clariant AG,Switzerland,30.05.2016,0.01
SECUBSESEK,Securitas AB,Sweden,07.11.2016,0.01
SKFBSESEK,SKF AB,Sweden,07.11.2016,0.01
ERICBSESEK,Telefonaktiebolaget LM Ericsson,Sweden,14.11.2016,0.01
ALFASESEK,Alfa Laval AB,Sweden,07.11.2016,0.01
NDASESEK,Nordea Bank AB,Sweden,07.11.2016,0.01
HMBSESEK,Hennes & Mauritz AB,Sweden,07.11.2016,0.01
TLSNSESEK,Telia Company AB,Sweden,14.11.2016,0.01
ELUXBSESEK,Electrolux AB,Sweden,07.11.2016,0.01
ABBSESEK,ABB Ltd,Sweden,14.11.2016,0.01
SCABSESEK,Svenska Cellulosa AB,Sweden,07.11.2016,0.01
SWEDASESEK,Swedbank AB,Sweden,07.11.2016,0.01
SKABSESEK,Skanska AB,Sweden,07.11.2016,0.01
SWMASESEK,Swedish Match AB,Sweden,07.11.2016,0.01
GETIBSESEK,Getinge AB,Sweden,07.11.2016,0.01
TEL2BSESEK,Tele2 AB,Sweden,07.11.2016,0.01
VOLVBSESEK,Volvo AB,Sweden,07.11.2016,0.01
ATCOASESEK,Atlas Copco AB,Sweden,14.11.2016,0.01
INVEBSESEK,Investor AB,Sweden,14.11.2016,0.01
AZNSESEK,AstraZeneca PLC,Sweden,14.11.2016,0.01
SEBASESEK,Skandinaviska Enskilda Banken AB,Sweden,14.11.2016,0.01
SANDSESEK,Sandvik AB,Sweden,07.11.2016,0.01
LINDEEUR,Linde AG,Germany,21.04.2015,0.01
BASDEEUR,BASF SE,Germany,22.04.2015,0.01
DTEDEEUR,Deutsche Telekom AG,Germany,31.03.2015,0.01
SDFDEEUR,K+S AG,Germany,15.04.2015,0.01
EOANDEEUR,E.ON SE,Germany,20.04.2015,0.01
LHADEEUR,Deutsche Lufthansa AG,Germany,21.04.2015,0.01
IFXDEEUR,Infineon Technologies AG,Germany,13.04.2015,0.01
DAIDEEUR,Daimler AG,Germany,27.03.2015,0.01
FREDEEUR,Fresenius SE & Co KGaA,Germany,10.04.2015,0.01
DB1DEEUR,Deutsche Boerse AG,Germany,25.01.2016,0.01
BEIDEEUR,Beiersdorf AG,Germany,08.04.2015,0.01
BMWDEEUR,Bayerische Motoren Werke AG,Germany,24.03.2015,0.01
BOSSDEEUR,HUGO BOSS AG,Germany,09.04.2015,0.01
TUI1DEEUR,TUI AG,Germany,15.04.2015,0.01
FMEDEEUR,Fresenius Medical Care AG & Co KGaA,Germany,01.04.2015,0.01
ADSDEEUR,Adidas AG,Germany,13.03.2015,0.01
PSMDEEUR,ProSiebenSat.1 Media AG,Germany,20.04.2015,0.01
CONDEEUR,Continental AG,Germany,08.04.2015,0.01
LXSDEEUR,Lanxess AG,Germany,21.04.2015,0.01
VNADEEUR,Vonovia SE,Germany,14.04.2015,0.01
BAYNDEEUR,Bayer AG,Germany,20.03.2015,0.01
TKADEEUR,ThyssenKrupp AG,Germany,14.04.2015,0.01
HEN3DEEUR,Henkel AG & Co KGaA,Germany,21.04.2015,0.01
SIEDEEUR,Siemens AG,Germany,20.04.2015,0.01
HEIDEEUR,HeidelbergCement AG,Germany,02.04.2015,0.01
DBKDEEUR,Deutsche Bank AG,Germany,25.03.2015,0.01
MRKDEEUR,Merck KGaA,Germany,24.03.2015,0.01
MUV2DEEUR,Muenchener Rueckversicherungs AG,Germany,21.04.2015,0.01
RWEDEEUR,RWE AG,Germany,16.04.2015,0.01
ALVDEEUR,Allianz SE,Germany,09.04.2015,0.01
CBKDEEUR,Commerzbank AG,Germany,26.03.2015,0.01
DPWDEEUR,Deutsche Post AG,Germany,31.03.2015,0.01
SAPDEEUR,SAP AG,Germany,16.04.2015,0.01
VOW3DEEUR,Volkswagen AG,Germany,14.04.2015,0.01
PAH3DEEUR,Porsche Automobil Holding SE,Germany,21.04.2015,0.01
USA30IDXUSD,USA 30 Index,IDX_AMERICA,04.04.2012,0.01
USA500IDXUSD,USA 500 Index,IDX_AMERICA,14.06.2012,0.01
USATECHIDXUSD,USA 100 Technical Index,IDX_AMERICA,14.06.2012,0.01
NES1VFIEUR,Neste OYJ,Finland,02.03.2017,0.01
OTE1VFIEUR,Outotec OYJ,Finland,21.11.2016,0.01
TLS1VFIEUR,Telia Company AB,Finland,09.11.2016,0.01
STERVFIEUR,Stora Enso OYJ,Finland,08.11.2016,0.01
OUT1VFIEUR,Outokumpu OYJ,Finland,03.11.2016,0.01
NRE1VFIEUR,Nokian Renkaat OYJ,Finland,03.11.2016,0.01
ELI1VFIEUR,Elisa OYJ,Finland,03.11.2016,0.01
IBEESEUR,Iberdrola SA,Spain,17.11.2016,0.01
CABKESEUR,CaixaBank,Spain,17.11.2016,0.01
AENAESEUR,Aena SA,Spain,14.11.2016,0.01
POPESEUR,Banco Popular Espanol SA,Spain,17.11.2016,0.01
GAMESEUR,Gamesa Corporacion Tecnologica SA,Spain,17.11.2016,0.01
ACXESEUR,Acerinox SA,Spain,14.11.2016,0.01
ELEESEUR,Endesa SA,Spain,17.11.2016,0.01
GASESEUR,Gas Natural SDG SA,Spain,17.11.2016,0.01
REPESEUR,Repsol SA,Spain,17.11.2016,0.01
ITXESEUR,Inditex SA,Spain,17.11.2016,0.01
SANESEUR,Banco Santander SA,Spain,17.11.2016,0.01
ABEESEUR,Abertis Infraestructuras SA,Spain,17.11.2016,0.01
ACSESEUR,ACS Actividades de Construccion y Servicios SA,Spain,14.11.2016,0.01
BBVAESEUR,Banco Bilbao Vizcaya Argentaria SA,Spain,17.11.2016,0.01
DIAESEUR,Distribuidora Internacional de Alimentacion SA,Spain,17.11.2016,0.01
ENGESEUR,Enagas SA,Spain,17.11.2016,0.01
REEESEUR,Red Electrica Corp SA,Spain,17.11.2016,0.01
MAPESEUR,Mapfre SA,Spain,17.11.2016,0.01
AMSESEUR,Amadeus IT Holding SA,Spain,17.11.2016,0.01
FERESEUR,Ferrovial SA,Spain,17.11.2016,0.01
SABESEUR,Banco de Sabadell SA,Spain,17.11.2016,0.01
TEFESEUR,Telefonica SA,Spain,17.11.2016,0.01
EURSGD,Euro vs Singapore Dollar,FX_CROSSES,09.02.2012,0.0001
USDMXN,US Dollar vs Mexican Peso,FX_CROSSES,04.10.2010,0.0001
AUDCHF,Australian Dollar vs Swiss Franc,FX_CROSSES,09.02.2012,0.0001
GBPCAD,Pound Sterling vs Canadian Dollar,FX_CROSSES,09.02.2012,0.0001
GBPCHF,Pound Sterling vs Swiss Franc,FX_CROSSES,09.02.2012,0.0001
USDNOK,US Dollar vs Norwegian Krone,FX_CROSSES,09.02.2012,0.0001
EURHKD,Euro vs Hong Kong Dollar,FX_CROSSES,09.02.2012,0.0001
AUDJPY,Australian Dollar vs Japanese Yen,FX_CROSSES,09.02.2012,0.01
CADJPY,Canadian Dollar vs Japanese Yen,FX_CROSSES,09.02.2012,0.01
CHFJPY,Swiss Franc vs Japanese Yen,FX_CROSSES,09.02.2012,0.01
USDDKK,US Dollar vs Danish Krone,FX_CROSSES,09.02.2012,0.0001
EURJPY,Euro vs Japanese Yen,FX_CROSSES,01.04.2007,0.01
NZDCAD,New Zealand Dollar vs Canadian Dollar,FX_CROSSES,09.02.2012,0.0001
USDSEK,US Dollar vs Swedish Krona,FX_CROSSES,09.02.2012,0.0001
EURNZD,Euro vs New Zealand Dollar,FX_CROSSES,09.02.2012,0.0001
AUDSGD,Australian Dollar vs Singapore Dollar,FX_CROSSES,09.02.2012,0.0001
CHFSGD,Swiss Franc vs Singapore Dollar,FX_CROSSES,09.02.2012,0.0001
SGDJPY,Singapore Dollar vs Japanese Yen,FX_CROSSES,15.02.2012,0.01
EURPLN,Euro vs Polish Zloty,FX_CROSSES,09.02.2012,0.0001
EURAUD,Euro vs Australian Dollar,FX_CROSSES,09.02.2012,0.0001
TRYJPY,Turkish Lira vs Japanese Yen,FX_CROSSES,09.05.2010,0.01
GBPAUD,Pound Sterling vs Australian Dollar,FX_CROSSES,09.02.2012,0.0001
EURNOK,Euro vs Norwegian Krone,FX_CROSSES,09.02.2012,0.0001
USDPLN,US Dollar vs Polish Zloty,FX_CROSSES,09.02.2012,0.0001
USDHKD,US Dollar vs Hong Kong Dollar,FX_CROSSES,09.02.2012,0.0001
CHFPLN,Swiss Franc vs Polish Zloty,FX_CROSSES,09.02.2012,0.0001
EURDKK,Euro vs Danish Krone,FX_CROSSES,09.02.2012,0.0001
USDTRY,US Dollar vs Turkish Lira,FX_CROSSES,09.02.2012,0.0001
GBPNZD,Pound Sterling vs New Zealand Dollar,FX_CROSSES,09.02.2012,0.0001
USDCNH,US Dollar vs Offshore Chinese Renminbi,FX_CROSSES,22.04.2014,0.0001
CADCHF,Canadian Dollar vs Swiss Franc,FX_CROSSES,09.02.2012,0.0001
USDRUB,US Dollar vs Russian Ruble,FX_CROSSES,09.02.2012,0.0001
EURRUB,Euro vs Russian Rouble,FX_CROSSES,15.02.2012,0.0001
AUDCAD,Australian Dollar vs Canadian Dollar,FX_CROSSES,15.02.2012,0.0001
EURSEK,Euro vs Swedish Krona,FX_CROSSES,09.02.2012,0.0001
EURTRY,Euro vs Turkish Lira,FX_CROSSES,09.02.2012,0.0001
NZDCHF,New Zealand Dollar vs Swiss Franc,FX_CROSSES,09.02.2012,0.0001
AUDNZD,Australian Dollar vs New Zealand Dollar,FX_CROSSES,09.02.2012,0.0001
USDSGD,US Dollar vs Singapore Dollar,FX_CROSSES,09.02.2012,0.0001
GBPJPY,Pound Sterling vs Japanese Yen,FX_CROSSES,09.02.2012,0.01
HKDKPY,Hong Kong Dollar vs Japanese Yen,FX_CROSSES,01.10.2010,0.0001
EURGBP,Euro vs Pound Sterling,FX_CROSSES,09.02.2012,0.0001
CADHKD,Canadian Dollar vs Hong Kong Dollar,FX_CROSSES,09.02.2012,0.0001
ZARJPY,South African Rand vs Japanese Yen,FX_CROSSES,02.08.2012,0.01
NZDJPY,New Zealand Dollar vs Japanese Yen,FX_CROSSES,22.03.2012,0.01
USDZAR,US Dollar vs South African Rand,FX_CROSSES,09.02.2012,0.0001
EURCAD,Euro vs Canadian Dollar,FX_CROSSES,09.02.2012,0.0001
EURCHF,Euro vs Swiss Franc,FX_CROSSES,09.02.2012,0.0001
YARNONOK,Yara International ASA,Norway,15.11.2016,0.01
TELNONOK,Telenor ASA,Norway,14.11.2016,0.01
NHYNONOK,Norsk Hydro ASA,Norway,09.02.2017,0.01
STLNONOK,Statoil ASA,Norway,14.11.2016,0.01
DNBNONOK,DNB ASA,Norway,14.11.2016,0.01
MHGNONOK,Marine Harvest ASA,Norway,14.11.2016,0.01
ORKNONOK,Orkla ASA,Norway,14.11.2016,0.01
COLOBDKDKK,Coloplast A/S,Denmark,07.11.2016,0.01
NOVOBDKDKK,Novo Nordisk A/S,Denmark,08.11.2016,0.01
NZYMBDKDKK,Novozymes A/S,Denmark,08.11.2016,0.01
DANSKEDKDKK,Danske Bank A/S,Denmark,08.11.2016,0.01
PNDORADKDKK,Pandora A/S,Denmark,08.11.2016,0.01
MAERSKBDKDKK,AP Moeller - Maersk A/S,Denmark,08.11.2016,0.01
VWSDKDKK,Vestas Wind Systems A/S,Denmark,08.11.2016,0.01
CARLBDKDKK,Carlsberg A/S,Denmark,07.11.2016,0.01
TSCOGBGBX,Tesco PLC,Others,08.07.2016,0.01
UUGBGBX,United Utilities Group PLC,Others,08.07.2016,0.01
WEIRGBGBX,Weir Group PLC/The,Others,08.07.2016,0.01
TLWGBGBX,Tullow Oil PLC,Others,07.07.2016,0.01
WOSGBGBX,Wolseley PLC,Others,06.07.2016,0.01
SSEGBGBX,SSE PLC,Others,08.07.2016,0.01
TATEGBGBX,Tate & Lyle PLC,Others,08.07.2016,0.01
TPKGBGBX,Travis Perkins PLC,Others,08.07.2016,0.01
WPPGBGBX,WPP PLC,Others,08.07.2016,0.01
VODGBGBX,Vodafone Group PLC,Others,07.07.2016,0.01
ULVRGBGBX,Unilever PLC,Others,06.07.2016,0.01
WTBGBGBX,Whitbread PLC,Others,06.07.2016,0.01
SVTGBGBX,Severn Trent PLC,Others,06.07.2016,0.01
STANGBGBX,Standard Chartered PLC,Others,07.07.2016,0.01
BRENTCMDUSD,US Brent Crude Oil,CMD_ENERGY,02.12.2010,0.01
GASCMDUSD,Natural Gas,CMD_ENERGY,25.06.2012,0.001
LIGHTCMDUSD,US Light Crude Oil,CMD_ENERGY,01.01.2013,0.01
KBCBEEUR,KBC Groep NV,Belgium,07.11.2016,0.01
SOLBBEEUR,Solvay SA,Belgium,07.11.2016,0.01
AGSBEEUR,Ageas,Belgium,09.01.2017,0.01
UCBBEEUR,UCB SA,Belgium,07.11.2016,0.01
UMIBEEUR,Umicore SA,Belgium,07.11.2016,0.01
BELGBEEUR,Proximus,Belgium,07.11.2016,0.01
ABIBEEUR,Anheuser-Busch InBev NV,Belgium,23.12.2016,0.01
EURUSD,Euro vs US Dollar,FX_MAJORS,01.01.2007,0.0001
USDCAD,US Dollar vs Canadian Dollar,FX_MAJORS,09.02.2012,0.0001
NZDUSD,New Zealand Dollar vs US Dollar,FX_MAJORS,27.03.2007,0.0001
AUDUSD,Australian Dollar vs US Dollar,FX_MAJORS,04.08.2003,0.0001
USDJPY,US Dollar vs Japanese Yen,FX_MAJORS,27.03.2007,0.01
GBPUSD,Pound Sterling vs US Dollar,FX_MAJORS,09.02.2012,0.0001
USDCHF,US Dollar vs Swiss Franc,FX_MAJORS,09.02.2012,0.0001
VOEATEUR,Voestalpine AG,Austria,04.11.2016,0.01
RBIATEUR,Raiffeisen Bank International AG,Austria,02.11.2016,0.01
EBSATEUR,Erste Group Bank AG,Austria,04.11.2016,0.01
ESPIDXEUR,Spain 35 Index,IDX_EUROPE,02.01.2012,0.01
EUSIDXEUR,Europe 50 Index,IDX_EUROPE,27.08.2012,0.01
GBRIDXGBP,UK 100 Index,IDX_EUROPE,14.06.2012,0.01
CHEIDXCHF,Switzerland 20 Index,IDX_EUROPE,14.06.2012,0.01
DEUIDXEUR,Germany 30 Index,IDX_EUROPE,14.06.2012,0.01
FRAIDXEUR,France 40 Index,IDX_EUROPE,14.06.2012,0.01
HKGIDXHKD,Hong Kong 40 Index,IDX_ASIA,03.06.2013,0.01
AUSIDXAUD,Australia 200 Index,IDX_ASIA,02.01.2013,0.01
JPNIDXJPY,Japan 225,IDX_ASIA,14.06.2012,0.01
COPPERCMDUSD,High Grade Copper,CMD_METALS,01.03.2012,0.001
XAGUSD,Spot silver,FX_METALS,25.07.2014,0.01
XAUUSD,Spot gold,FX_METALS,05.05.2003,0.01
EDPPTEUR,EDP - Energias de Portugal SA,Portugal,17.11.2016,0.01
GALPPTEUR,Galp Energia SGPS SA,Portugal,17.11.2016,0.01
EURHUF,EURHUF,Exotic,15.03.2007,0.0001
EURMXN,EURMXN,Exotic,14.03.2007,0.0001
EURZAR,EURZAR,Exotic,14.03.2007,0.0001
HKDJPY,HKDJPY,Exotic,14.03.2007,0.01
MXNJPY,MXNJPY,Exotic,05.06.2007,0.01
NZDSGD,NZDSGD,Exotic,14.03.2007,0.0001
USDBRL,USDBRL,Exotic,14.03.2007,0.0001
USDHUF,USDHUF,Exotic,14.03.2007,0.0001
WTICMDUSD,WTI Light Crude Oil,Commodities,20.09.2011,0.01
CUCMDUSD,Copper,Commodities,19.09.2011,0.01
AUCMDUSD,Gold,Commodities,26.02.2013,0.01
E_SI,Silver,Commodities,26.02.2013,0.01
PDCMDUSD,Palladium,Commodities,19.09.2011,0.01
PTCMDUSD,Platinum,Commodities,19.09.2011,0.01
USAMJRIDXUSD,USA Major Index,Indexes,19.09.2011,0.1
BRAIDXBRL,Brasil Index,Indexes,08.10.2013,0.0001
USACOMIDXUSD,USA Composite Index,Indexes,19.09.2011,0.1
NLDIDXEUR,Netherlands 25 Index,Indexes,26.02.2013,0.01
ITAIDXEUR,Italy 40 Index,Indexes,26.02.2013,0.01

Discrepencies in tick volume

@giuse88 thank you for creating this wonderful library.

so, I downloaded data using - duka ADSDEEUR -d 2016-02-03

and data looks somewhat like this -

00:46.5 0.942 0.94073 120000 120000
00:54.1 0.9419 0.93991 120000 120000
00:55.1 0.9418 0.93981 120000 120000
00:58.1 0.9418 0.93991 120000 120000
00:59.2 0.9418 0.93981 120000 120000
01:00.2 0.94175 0.94 120000 120000
01:01.2 0.94165 0.9399 120000 120000
01:02.3 0.94155 0.9397 120000 120000
01:03.4 0.94145 0.9397 120000 120000
01:08.4 0.94145 0.9398 120000 120000
01:09.5 0.9415 0.9398 120000 120000
01:12.8 0.94145 0.94 120000 120000
01:13.8 0.94149 0.9399 120000 120000
01:14.8 0.94148 0.94 120000 120000
01:15.9 0.94145 0.94 120000 120000
01:18.0 0.94145 0.9399 120000 120000
01:19.1 0.94148 0.9398 120000 120000
01:21.1 0.94146 0.9398 120000 120000
01:23.6 0.94145 0.94 120000 120000
01:24.7 0.94148 0.9399 120000 120000
01:25.7 0.9415 0.93991 120000 120000

So, I think bid and ask volume is wrong.

it's not the only instance, if i use duka ALVDEEUR -d 2017-03-14

This is the data, i get -

00:15.3 1.70152 1.69792 57 56
00:15.9 1.70102 1.69793 57 110
00:16.8 1.70102 1.69799 57 140
00:17.4 1.70109 1.69796 57 140
00:17.5 1.70155 1.69849 59600 120
00:17.5 1.70156 1.69842 57 130
00:18.7 1.70157 1.69843 57 170
00:19.5 1.70157 1.69845 57 190
00:21.0 1.70103 1.6984 57 73
00:21.8 1.70057 1.6984 150 44600
00:22.1 1.70006 1.69844 150 13
00:22.5 1.69957 1.6984 150 44600
00:22.8 1.69957 1.69793 150 23
00:25.2 1.6996 1.6959 150 57
00:26.0 1.6991 1.6958 150 44600
00:27.1 1.69808 1.69646 150 60
00:27.4 1.69806 1.69643 150 85
00:28.4 1.69802 1.6964 94 85
00:45.1 1.69809 1.69641 94 60
00:50.7 1.69805 1.69639 94 44600
00:52.3 1.69806 1.69689 94 67
00:52.4 1.69805 1.69529 150 44600
00:53.4 1.69805 1.69489 150 57
00:55.8 1.69808 1.69542 150 13
00:56.8 1.69808 1.69644 150 40
00:57.8 1.69808 1.69646 52 40
01:00.0 1.69805 1.69645 110 40
01:01.2 1.6971 1.69644 59600 31
01:02.0 1.69853 1.6969 59600 91

I think, there's something wrong with volume data here as well, because, i am getting these huge volumes with different bids that persist through out day. this thing seems true for every stock and most of the day

So, any ideas on what's going on?

thanks.

P.S - I know, this is not an issue with library. but i couldn't find stack overflow category, this would fit in. so, yeah! any help is really appreciated.

Compressed data ended before the end-of-stream marker was reached

2016-05-23 07:10:59,588 - INFO - Thread-4 [4460486656] -  Fetching EURUSD 2015 03 23 23h_ticks.bi5
ERROR for 2015-04-16, EURUSD Exception : Compressed data ended before the end-of-stream marker was reached
2016-05-23 07:10:59,661 - INFO - Thread-2 [4449976320] -  Day 2015-04-16 fetched in 9.455474853515625s
2016-05-23 07:10:59,662 - INFO - Thread-2 [4449976320] -  Fetching day 2015-04-24
2016-05-23 07:10:59,667 - INFO - Thread-2 [4449976320] -  Fetching EURUSD 2015 03 24 00h_ticks.bi5
2016-05-23 07:10:59,669 - INFO - Thread-2 [4449976320] -  Fetching EURUSD 2015 03 24 01h_ticks.bi5

XAUUSD and XAGUSD history data error

i download XAUUSD and XAGUSD history data using:
#duka EURUSD -s 2016-04-12 -e 2016-04-12
#duka XAGUSD -s 2016-04-12 -e 2016-04-12

i found last row of file start with "2016-04-12 22:59:57.731000,0.16153,0.16118,200000,10000" and "2017-01-10 22:59:52.340000,11.86402,11.86099,370,370".
time is error, but rows count is right, why?

and i found the digits of XAUUSD and XAGUSD is error too.

how i can do?

Migrate to dukascopy-node

Since this project is no longer actively maintained, I invite everyone to try out an alternative - dukascopy-node (written for node.js) - https://github.com/Leo4815162342/dukascopy-node.

✅ actively maintained
✅ can be used as CLI or as a library
✅ documentation and detailed examples
✅ short release cycle
✅ wiki
✅ semantic versioning
✅ tests

dukascopy-node

GMT vs Local time

screen shot 2016-10-07 at 3 20 01 pm

This should be an option for the CLI tool perhaps since it's possible in the web GUI?

Candle in the usage are incorrect

-c CANDLE    use candles instead of ticks. Accepted values 1M 5M 10M 15M 30M 1H 4H 1D

Values should be M1 M5 M10 ...

duka is very useful!

I can't install this fabulous package, here are the logs

0 verbose cli D:\Program Files\nodejs\node.exe D:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js
1 info using [email protected]
2 info using [email protected]
3 timing npm:load:whichnode Completed in 2ms
4 timing config:load:defaults Completed in 2ms
5 timing config:load:file:D:\Program Files\nodejs\node_modules\npm\npmrc Completed in 2ms
6 timing config:load:builtin Completed in 2ms
7 timing config:load:cli Completed in 2ms
8 timing config:load:env Completed in 1ms
9 timing config:load:file:D:\vue\scratch\vite-project.npmrc Completed in 0ms
10 timing config:load:project Completed in 4ms
11 timing config:load:file:C:\Users\Administrator.npmrc Completed in 0ms
12 timing config:load:user Completed in 0ms
13 timing config:load:file:C:\Users\Administrator\AppData\Roaming\npm\etc\npmrc Completed in 0ms
14 timing config:load:global Completed in 1ms
15 timing config:load:setEnvs Completed in 1ms
16 timing config:load Completed in 13ms
17 timing npm:load:configload Completed in 13ms
18 timing npm:load:mkdirpcache Completed in 0ms
19 timing npm:load:mkdirplogs Completed in 1ms
20 verbose title npm install dukascopy-node
21 verbose argv "install" "dukascopy-node" "--save"
22 timing npm:load:setTitle Completed in 1ms
23 timing config:load:flatten Completed in 4ms
24 timing npm:load:display Completed in 5ms
25 verbose logfile logs-max:10 dir:C:\Users\Administrator\AppData\Local\npm-cache_logs\2023-05-08T08_23_37_891Z-
26 verbose logfile C:\Users\Administrator\AppData\Local\npm-cache_logs\2023-05-08T08_23_37_891Z-debug-0.log
27 timing npm:load:logFile Completed in 10ms
28 timing npm:load:timers Completed in 0ms
29 timing npm:load:configScope Completed in 0ms
30 timing npm:load Completed in 32ms
31 timing arborist:ctor Completed in 1ms
32 silly logfile start cleaning logs, removing 2 files
33 timing arborist:ctor Completed in 0ms
34 silly logfile done cleaning log files
35 timing idealTree:init Completed in 926ms
36 timing idealTree:userRequests Completed in 4ms
37 silly idealTree buildDeps
38 silly fetch manifest dukascopy-node@*
39 http fetch GET 200 https://registry.npmjs.org/dukascopy-node 1679ms (cache revalidated)
40 silly placeDep ROOT [email protected] OK for: [email protected] want: *
41 silly fetch manifest [email protected]
42 silly fetch manifest [email protected]
43 silly fetch manifest [email protected]
44 silly fetch manifest [email protected]
45 silly fetch manifest [email protected]
46 silly fetch manifest [email protected]
47 silly fetch manifest lzma-purejs@git+https://github.com/Leo4815162342/lzma-purejs.git
48 silly fetch manifest [email protected]
49 silly fetch manifest [email protected]
50 http fetch GET 200 https://registry.npmjs.org/debug 387ms (cache revalidated)
51 http fetch GET 200 https://registry.npmjs.org/cli-progress 976ms (cache revalidated)
52 http fetch GET 200 https://registry.npmjs.org/chalk 985ms (cache revalidated)
53 http fetch GET 200 https://registry.npmjs.org/fs-extra 998ms (cache revalidated)
54 http fetch GET 200 https://registry.npmjs.org/node-fetch 1000ms (cache revalidated)
55 http fetch GET 200 https://registry.npmjs.org/commander 1008ms (cache revalidated)
56 http fetch GET 200 https://registry.npmjs.org/fastest-validator 1355ms (cache revalidated)
57 http fetch GET 200 https://registry.npmjs.org/python-struct 2217ms (cache revalidated)
58 timing idealTree:#root Completed in 3922ms
59 silly fetch manifest encoding@^0.1.0
60 http fetch GET 200 https://registry.npmjs.org/encoding 342ms (cache revalidated)
61 silly placeDep ROOT [email protected] OK for: [email protected] want: 3.0.0
62 silly placeDep ROOT [email protected] OK for: [email protected] want: 3.10.0
63 silly placeDep ROOT [email protected] OK for: [email protected] want: 5.0.0
64 silly placeDep ROOT [email protected] OK for: [email protected] want: 4.3.4
65 timing idealTree Completed in 5224ms
66 timing command:install Completed in 5233ms
67 verbose stack TypeError: Cannot read properties of null (reading 'matches')
67 verbose stack at Link.matches (D:\Program Files\nodejs\node_modules\npm\node_modules@npmcli\arborist\lib\node.js:1119:41)
67 verbose stack at Link.canDedupe (D:\Program Files\nodejs\node_modules\npm\node_modules@npmcli\arborist\lib\node.js:1073:15)
67 verbose stack at PlaceDep.pruneDedupable (D:\Program Files\nodejs\node_modules\npm\node_modules@npmcli\arborist\lib\place-dep.js:426:14)
67 verbose stack at new PlaceDep (D:\Program Files\nodejs\node_modules\npm\node_modules@npmcli\arborist\lib\place-dep.js:278:14)
67 verbose stack at D:\Program Files\nodejs\node_modules\npm\node_modules@npmcli\arborist\lib\arborist\build-ideal-tree.js:943:31
67 verbose stack at Array.map ()
67 verbose stack at [buildDepStep] (D:\Program Files\nodejs\node_modules\npm\node_modules@npmcli\arborist\lib\arborist\build-ideal-tree.js:943:8)
67 verbose stack at async Arborist.buildIdealTree (D:\Program Files\nodejs\node_modules\npm\node_modules@npmcli\arborist\lib\arborist\build-ideal-tree.js:207:7)
67 verbose stack at async Promise.all (index 1)
67 verbose stack at async Arborist.reify (D:\Program Files\nodejs\node_modules\npm\node_modules@npmcli\arborist\lib\arborist\reify.js:159:5)
68 verbose cwd D:\vue\scratch\vite-project
69 verbose Windows_NT 10.0.19044
70 verbose node v18.15.0
71 verbose npm v9.5.0
72 error Cannot read properties of null (reading 'matches')
73 verbose exit 1
74 timing npm Completed in 5297ms
75 verbose unfinished npm timer reify 1683534217951
76 verbose unfinished npm timer reify:loadTrees 1683534217954
77 verbose unfinished npm timer idealTree:buildDeps 1683534218885
78 verbose unfinished npm timer idealTree:node_modules/dukascopy-node 1683534222808
79 verbose code 1
80 error A complete log of this run can be found in:
80 error C:\Users\Administrator\AppData\Local\npm-cache_logs\2023-05-08T08_23_37_891Z-debug-0.log

SyntaxError: Invalid Syntax received when running from windows shell

Hi @giuse88

I installed duka module, but when I run it from Terminal within PyCharm, and also from Windows PowerShell, I get the following error:

"
PS C:\users...\miniconda2\scripts> .\duka -h
Traceback (most recent call last):
File "c:\users...\miniconda2\lib\runpy.py", line 174, in run_module_as_main
"main", fname, loader, pkg_name)
File "c:\users...\miniconda2\lib\runpy.py", line 72, in run_code
exec code in run_globals
File "C:\users...\miniconda2\scripts\duka.exe_main
.py", line 5, in
File "c:\users...\miniconda2\lib\site-packages\duka\main.py", line 6, in
from duka.app import app
File "c:\users...\miniconda2\lib\site-packages\duka\app_init
.py", line 1, in
from .app import app
File "c:\users...\miniconda2\lib\site-packages\duka\app\app.py", line 41
format_left_time(estimation)), end='')
^
SyntaxError: invalid syntax
"

On the screen, the arrow (^) points to the equal sign in end=''.

By the way, the syntax of .\duka is following instructions from Windows to run a .exe file within the directory

Do you have any suggestion?

Thanks!

Empty files

Hi, I trying to use the package to get data from less populars crosses, like USDBRL and USDZAR, just for examplo. But keep returning blank files. Anyone knows why?

please tell me which python should i select for duka?

use 3.4.2 error log:
File "/root/.pyenv/versions/3.4.2/lib/python3.4/site-packages/duka/core/fetch.py", line 16
async def get(url):
^
SyntaxError: invalid syntax

use 3.5.2 error log:
File "/root/.pyenv/versions/3.5.2/lib/python3.5/lzma.py", line 26, in
from _lzma import *
ImportError: No module named '_lzma'

Additional request(ask price, frequency, time interval)

@evianzhow I read the #29 you mentioned. But is it possible to:

  1. Make the day interval begin at 17:00 EST(which is the official start time of forex, so that if the frequency is 4 hour, each interval will be like 17:00, 21:00, 01:00 etc) instead of 00:00 local time( 00:00, 04:00, 08:00 etc)?
  2. D/L other time frequency such as 2H, 8H, weekly, daily, other than those available
  3. D/L ask price also

Thanks.

Bid vs Ask Flag

There should be a flag to indicate bid and ask downloads like on the online tool.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.