Alphavantage and NASDAQ Index stopped working - alpha-vantage

This API call for NASDAQ Composite used to work. Now it returns just an empty JSON. {}. No error message.
https://www.alphavantage.co/query?function=TIME_SERIES_MONTHLY&symbol=IXIC&apikey=your_api_key
Other indices seem to work OK eg DJI, SPX
An email to support has not been answered.
Anyone have any more information on this?

UPDATE
The trick below has stopped working. Hopefully Alpha Vantage will regain their access to the NASDAQ soon.
Try replacing IXIC with NASDAQ:^IXIC
https://www.alphavantage.co/query?function=TIME_SERIES_MONTHLY&symbol=NASDAQ:^IXIC&apikey=your_api_key

Related

How can I make this Max MSP/M4L patch update zl.len and zl.mth for an empty list?

Background
I'm trying to build a Max for Live device as a solution to the problem presented in this related question. As part of my solution I need to keep track of a group of notes (i.e. the selected, or in-scale notes).
My patch (see below) works great for any combination of held notes, but fails once the last note is released. When that happens, zl.len stays stuck at 1 and zl.mth continues to output whatever note was released last.
The question
How can I update my patch so that the length is 0 and the selected note is empty when the input list of held notes is empty?
What I have tried
I have tried banging the left inlet of the various zl objects manually and as part of the kslider update but this only produces the same unwanted behavior.
Here is a screen-shot of the patch:
and here is the corresponding code:
----------begin_max5_patcher----------
917.3ocyX0zbaCBD8ryL4+.iN6jAPHaodr8P+AzicxjQePrIUB4AgRcal9eu
7gUrSprJJF5zKlQqA18s6agmzyWe0hnh18ztHvG.eErXwyJKKL1zVVLXXQTS
99x57NyDi38METQzxC+m5QFulJM+I5Dqs8xAy3AypoxZ5az1fKOt4C1Pur9c
4h7FpjJtmxyKpouZE1cV9icTajGEsDDUjy2DAtaXNrJSv1V73MIwQG2VY4VF
ey8BZoztXbRxsvk.BYkdHNV+KFeKDbmYM+55qzipgkNmgJaaZnb4KdUR2abV
zmZ64RfbKErkVWA3sRUxeXV0LNsTOgWkwbI8BGCz3o.8ZnArYFLmhLOPtHLW
zKks7YwJdmE6IJzvovLxVniIolRLY32PTn+nJFM0YcIFnfPzkVOIYSgsXnkD
mYpqnDy.FFFv8EpDv3Uz8f1G.UzNlfVA5Jyqo2ng6kC0zI6WyHmzuhxPAEps
BosMUgXPdWIkWoBGPqnZlGANJPWOMPOzWlY.55rPBzOKZ628lSlTPV1BxA0r
NOveSlj+d3zWHxVTiCM+cn2zTW0OX3uWNJm7pFBw1dptdIwWco+Obta7j20f
WYNvkj5uyc4zuq76eVY+Y8scpN1wyF3+h1jQUULNfwS23FSN4hFBxCJJNGfk
B1lMTAn38Q.lQMFSlDxqSsMtlCoRhCHj2ITGKA5n0JmSqt3NVLxgRYhkBmBC
HtTb2F41fScQYtfW6PPot153F88NWbQDs1AwQGT6tZUXKhSfHeVFW4P6XLzP
XSBeYrlx2bNx6bpiwNHfmfMfy1RFt5nBRguJ5zKrX4swq8.d+VWM6TkqsO7P
G03tUv2EXmmDBlVNlc3X9nosh9JdhPcIj0BdjbV5z5HMoLDz9hsjgaiB.EoH
eyr3GnIyJiSOb.pXqlRblVR4nrC6Va97Bu8K8X1V8e7lDPWaunbH7F9DJ.3w
fT8VeRFOWxTROONK8cK.zT4ZmcnVgkiN7jYYesLcx1CgfVUq6gfGb3aQy3NT
KXwSNzwjL7LIYrGBgD3bBAefYhSI40ADyNl1OWH.+mkEzhLBV6kigP.SBoNw
DHALGfbi8G6uiXVMG1uOb3b3YdplhbgTg7l67FG9vE04618DUzcXOr9VII4w
VyhRWZelwsOakUDInOwFVRh0TtPIYPpzKzKLgbz9UGdGdijKAumMvi0nW6Zi
pGtRPW2tbKNMpit9J0D9MXvABqM
-----------end_max5_patcher-----------
Indeed the only way to know if there is nothing in a zl group object is to somehow keep track of whether something came in.
Here is an example that should do what you are looking for if I understand correctly:
----------begin_max5_patcher----------
1066.3ocwY1rbaaCDG+rzSAFdVQC9fe1iIGxCPO1wiGJQXYlRBpgDLUsYx6d
AVPZoXCICYBxbQ1DBlK9s6+cwB3erdUvtlS7t.zef9KzpU+X8pUvP5AVM77p
f57S6qx6foEH3+SytuErw7UR9IILrDsCUNNZYALlZdehMNlnutTTwkvagbdv
ld43nzgQMCI+2ibyBKXWt3PvFTPoPYrGFl0wb49mKEGdrkuWZlHkw1Ri1fHL
5V7FDMaq5Ap52QOn+a94505O1LMRsQI0JkTqTRtFkuGcDEcJpBYwyGbRD1VP
L5NhhSkOFk.7QG+zm70wqPXDwFigVYjYkQ16oTG+oK.SS.fCCmCfslSxVP4J
MjNmx0R6AShOJ6nI7dp5jk5CR6q2waGW9puprtuFV7j2xYzKQxi4s40bIu8Q
tHeWEf.1C9fWDy2zCDEBdfHLFxfYmUxibTJF4.+AbJ6apq45nwqh+eooWHQx
m4nm4UEHQiTsY1vjpJE785u+R9tz2QuCMB95vaJGGFBPmRFc.enf+tdorQXQ
PGg8TflbyJW2LeFm.fhGRqG+7CA50BneVsJf3oNThTKRK9hvLOE3vCpVSkWR
DHdoXOizexUUoDE7SnlmPE7txVdApaedE+SZHsAXpe.jlwtLsjjQlG.aZklT
OEmn7t8bQgZgfZZKNWH6R7R7EdX.OVHT2kjjMK3801l9iupFiBTYCJGUU1YU
gF4YBoCAP1roPGy4fXn9APgZiMlux9.XhX5cKmZt2Uqaxn+1qaRiSFJyP8Pg
yqzHz+UssSkFZ6nII2Qyd2rM.mZBZHYLjLGMyBGxz5ITng2gpj4x4LcowOro
vCFfMNaNP9XqZUfTGaQYUdgMxIdpVyP.L1bvqT7bPiRlVKe1BEjrEUkFkNip
TSH6fdaCajl32tWXlMEhimo30U4HdYqqX1BLZFiXUbwA6hSOsk23E3XNueb5
LEwTbXCB7hDuHQT8F5CmRfkLIF+6tpxK5gr4om53fchwuEvz6dmd57bc.lcE
LnmFNzjyEGEtofeo7oUsoiY.p+jA6xOXSCrD26yKWGhQfGktMw18g.uB3P5u
55mgWod7ek5tl918iqgg3M5rWUcvJYoHWVpZC77bzsEftl1yUCM9Rtokz2ol
erD0EKQ7gkHumk7.RLG7cDOYGxBXG8Ew79xNenEbww4kHTzBQDYwbcIt3690
Ui4xJzUCmjoScTFN072Hmxqx7fkXNU8KxGBQWpIoa6b5VxEuGyG6cvntFmlr
kHtTQ2G6cvHtvT7hkHmYOQlr.lNwtowSqNYlK0I8wlYiAoaaoDeXIWR3dKRl
lDyOd7671tgYC1P0D72Z.ec5l0l++RlGg1VCZ4eubb9lIj2p5SUpZRsuEVWA
mhMWYDzOdqnubPynnSYRnAag5XDcGyMf.8gu9mq+eNu4kL.
-----------end_max5_patcher-----------
With the help of the Cycling74 forum, I came up with this solution that uses borax to count the held notes, and as a trigger to clear the zl object when the count is 0.
----------begin_max5_patcher----------
866.3ocuX1zaaBCFG+bxmBKzNlEgMP.lTOsO.6vNNMUYHtItCLHioKqU869r
eLrzlBIPBrKfvA3u+87N4kkKbRJNvpbPeA8CzhEurbwBXIyBKZtdgSN8PZFs
BtMmzh7blP4rx9aJ1AEr92j6nB9yLjZOCIJTrJDWnJPTTUgTw1hx3U+6ox3B
VZQs.dTulEE04E0pLlBDxsY0RpJcOWr6dIKUY2nDb7Z2UHOhm4TD1bzObsK5
mMOCeKrkJRd7ydwNGe8bQ6aGaV60kKMGVcij+0LFUBXq29k0JD+AsAnwFPkL
zdV11NI2erj6ERLvRb8MmBgiab6g7vYm7uyxzas24wgKpRoYrNIlLZhcAmre
75fUHbfK3385g3fIiXA62523G.VgdNK03tc5jC7YhYii.O2Ff.KGDxa3v9ZT
+ojYe.mVk5hTRzbSpNF9SbL5t6PtFWp.gGg+b.1AaD7F3BufyYG5z.fcmaCP
Rgjdna2b7YvyEHB6A3gsAum2OyMIVW4oNiM5zx3cMVl57DVOg5jyjxFrA7pg
gsIqmXBzhvyqyAGFtW2tFwDpXWmLF347O8kzblhIumInIYr2VNQieqNtSUzR
RsRUHFc5umIFWaL7gSD+1i8GVzK6djgv9bkV7b1ZS+7QGTfC7so5PCLe7kyK
LA.cGf2ciMxTVlOYzd3F.aJrQHWFvd8vD+4t3VoTW8.UAsuYacF8.X1h39a.
2XzGal8VXvNyeHYtZ+niHagfDdyQj334NhTy3NYQc4Um2YmUN3lnbyjQ4upx
3auhVK3X6j+vzfQ.YAdCr45w1OEaYuMYVpyCsKP9HzQCoXawCOTwT8V9cBiC
Rn6F+nmVyUynmD6EWbjjNi.tX..7TvHhm7Qkv9xr96YtpnVl1JaapD53VaKq
RwETEW2y83MYpoXtoNsqCVoMCQovoPoAHT6t4lDJZHDMQ5fGfN3aTGy6v6RF
tIfGiN9CPmofGxkzw8cNwBooNooxxsor+HhAOUZ7rC8IauoR4AA8rXtCGhxw
SQsE2gjyGMEIIQ+uXx70cCSoaMgzibcLYayQKKehIqZtaPDcS7GKf.nnUKse
Bp8Rn+rij8Du89g+1SGpT2tVo6UWKgMlygM1o+gwTjhZdSdfFOsjv.BB8fHU
kTKIvbDKec4eADs2DjA
-----------end_max5_patcher-----------

Alpha Vantage error when symbol has digits

I'm trying to get quotes for an Australian stock with ticker A200.AX (aka A200.AUS) from Alpha Vantage.
I have no issues getting other symbols from the AX market, e.g.:
https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=ETHI.AUS&apikey=demo
...returns data as expected
However when a symbol has digit(s) in it, it seems to return an error:
https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=A200.AUS&apikey=demo
Invalid API call. Please retry or visit the documentation (https://www.alphavantage.co/documentation/) for TIME_SERIES_INTRADAY.
Same result for F100.AUS
I checked to make sure the ticker was valid: A200.AUS shows up if I search for it:
https://www.alphavantage.co/query?function=SYMBOL_SEARCH&keywords=A200.AUS&apikey=demo
I'm aware of some questions related to URL encoding, but I can't see any URL special characters in A200.AUS . Besides, using the search endpoint works with the ticker passed on literally.
Does anyone know how to download this stock's information or what I'm doing wrong?
Your use of the search endpoint is great, however A200.AUS is an ETF. Alpha Vantage has some ETFs, but currently, only 100% supports stocks.

Using "is null" when retrieving prices doesn't work

I am trying to get the price items for performance block storage that are generic (not specific to a certain datacenter). I can see that these have the locationGroupId set to blank or null, but I can't seem to get the objectFilter to work with that, the query returns nothing. If I omit the locationGroupId filter I get a result that contain both location-specific and non-location specific prices.
GET /rest/v3.1/SoftLayer_Product_Package/759/getItemPrices.json?objectMask=mask[locationGroupId,id,categories,item]&objectFilter={"itemPrices":{"categories":{"categoryCode":{"operation":"performance_storage_space"}},"item":{"keyName":{"operation":"$=GBs"}},"locationGroupId":{"operation":"is null"}}}
I am guessing there is something wrong with the object filter, any ideas?
If I filter on locationGroupId 509 it works:
/rest/v3.1/SoftLayer_Product_Package/759/getItemPrices.json?objectMask=mask[locationGroupId,id,categories,item]&objectFilter={"itemPrices":{"categories":{"categoryCode":{"operation":"performance_storage_space"}},"item":{"keyName":{"operation":"$=GBs"}},"locationGroupId":{"operation":509}}}
The reason it the first query didn't work while the second did was that I used the command "curl -sg" to do the request. While that eliminates the need to escape the {}[] characters - it also turns off escaping other characters correctly in the URL - like the space in "is null". Changing that to "is%20null" solves the issue.
I am posting this as the answer as I find it likely for others to encounter this problem.

Grok filter for a time counter HH:MM

I'm quite new to ELK and Grok-filtering, and I'm struggling with parsing this particular pattern in my grok filter.
I've used the grok debugger to try and solve this, but although I like the tool, I just get confused by the custom patterns.
Eventually, I hope to parse lots of log files sent by filebeat to logstash, then send the parsed logs to elasticsearch and display with kibana or some similar visualization tool.
The lines that I need to parse follow the following pattern:
1310 2017-01-01 16:48:54 [325:51] [326:49] [359:57] Some log info text
The first four digits is a log type identifier, and will be used for grouping. I've called the field "LogLineID".
The date is formatted YYYY-MM-DD HH:MM:SS, and is parsed ok. I called the field "LogDate".
But now the problem begins. Within the square brackets, I have counters, formatted as MM:SS if you like. I cannot for the life of me find a way to sort these out, but I need to compare these times, hence I want to store them as minutes and seconds, not just numbers.
The first is a counter "TimeSpent",
the second is a counter "TimeStarted" and
the third is a counter "TimeSinceDown".
Then, last, comes the info text, which I've managed to grok with simply applying %{GREEDYDATA:LogInfo}.
I notice that the amount of minutes could be far higher than the standard 60 minutes within an hour, so I may be barking up the wrong tree here trying to parse it with date patterns such as TIMESTAMP_ISO8601, but then, I don't really know how else to do this.
So, I came this far:
%{NUMBER:LogLineID} %{TIMESTAMP_ISO8601:LogDate}
and were as mentioned able to (by cutting away the square bracket parts) to parse the log info text with
%{GREEDYDATA:LogInfo}
to create a field LogInfo.
But that's were I'm stuck. Could someone please help me figure out the rest?
Massive thanks in advance.
PS! I also found %{NUMBER:duration}, but it could as far as I could tell only parse timestamps with dot, not colon..
grok regex expression can help you solve the problem.
but first I wanna make sure that do you mean [325:51] [326:49] [359:57] are the three component that you wanna to fetch? And it will returns the result like :
TimeSpent: 325:51
TimeStarted: 326:49
TimeSinceDown: 359:57
were i get the point , you can use my ways in on of the following suggestions:
define your own custom pattern files and add the pattern in your file.
just use the expression in filter part of logstash conf file
hope it will helps you
Ah, there was a space.. Actually, I was misleading myself and everybody in my question, as it was not actually that log line that was causing problems. I just took the first one, not realizing where the problem really were, but the one causing problems had a space within the brackets as such: [ 42:31]. There are also some parts where there are two spaces, so the way I managed to solve this was to include a %{SPACE} between the \[ and the %{NUMBER}:
%{NUMBER:LogLineID} %{TIMESTAMP_ISO8601:LogDate} \[%{SPACE}%{NUMBER:TimeSpentMinutes}\:%{NUMBER:TimeSpentSeconds}\] \[%{SPACE}%{NUMBER:TimeStartedMinutes}\:%{NUMBER:TimeStartedSeconds}\] \[%{SPACE}%{NUMBER:TimeSinceDownMinutes}\:%{NUMBER:TimeSinceDownSeconds}\] %{GREEDYDATA:LogText}
I still haven't solved the merging of minutes and seconds, but this I can also handle in a later stage.
Thanks to Lin Don for showing an interest in my problem, and sorry for not replying sooner.
Hope the solution will help others (or even myself) if their stuck on the same kind of problem.
Note to myself: Read the logs more carefully before grok'ing.. :)

QuickBase Perl API: Not able to edit a Record

I am trying to update a Quickbase record via my Perl script. I am following the Perl API documentation: http://metacpan.org/pod/HTTP::QuickBase
The method used for editing a record is "EditRecord". As per this method, you cannot edit built-in fields which is true.
and I know that I am not modifying built-in field but an user-created field.
e.g. I want to modify the field called "OS" to "Windows"
So per the Perl modules CPAN documentation mentioned above, I do this:
my %new_record=$qb_obj->GetRecord($database_id, $record_id);
$new_record{"OS"}="Windows";
$qb_obj->EditRecord($database_id, $record_id, %new_record);
But I get following error:
The field named "Date Created" with field id 1 cannot be modified
Which basically means that I ma trying to modify the field "Date Created" with Field ID "1". However, I am not doing that. It might be pulling that parameter some how. THe perl as well as the Quickbase documentation is not helping much.
Here is the Quickbase API documentation: http://www.quickbase.com/api-guide/edit_record.html#Overview
Can someone help me on this.
thanks.
Since you already know the id of the record, you don't need to read the record before modifying it. You should be able to just remove your first line, create the %new_record without reading it from QB, then your 2nd and 3rd lines should work fine.
The alternative is to remove the built-in QB fields from %new_record before doing the EditRecord.