Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取javascript中的历史股票数据_Javascript_Python_Finance_Yahoo Finance_Quantitative Finance - Fatal编程技术网

获取javascript中的历史股票数据

获取javascript中的历史股票数据,javascript,python,finance,yahoo-finance,quantitative-finance,Javascript,Python,Finance,Yahoo Finance,Quantitative Finance,我希望创建一个可以放在.html文件中的javascript函数 我想向函数发送股票符号、开始日期和结束日期 我想让函数返回一个2d数组,其中每一行都是所请求库存的EOD或OHLC数据的一天 我想使用雅虎,因为谷歌股票数据将被淘汰 我已经用其他语言完成了这项工作,但我对java脚本还不熟悉,而且几乎迷路了 下面的代码是在堆栈上找到的,是我能找到的最接近的代码,但我不知道如何使用它 <script type="text/javascript" src="jquery-1.5.1.js">

我希望创建一个可以放在.html文件中的javascript函数

我想向函数发送股票符号、开始日期和结束日期

我想让函数返回一个2d数组,其中每一行都是所请求库存的EOD或OHLC数据的一天

我想使用雅虎,因为谷歌股票数据将被淘汰

我已经用其他语言完成了这项工作,但我对java脚本还不熟悉,而且几乎迷路了

下面的代码是在堆栈上找到的,是我能找到的最接近的代码,但我不知道如何使用它

<script type="text/javascript" src="jquery-1.5.1.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
            var symbol='goog';
            var callback = function(data) {
                    var price=data.query.results.span[0].content;
                    alert('Stock Price: ' + price);
            };

        var url = 'http://query.yahooapis.com/v1/public/yql';
        // this is the lovely YQL query (html encoded) which lets us get the stock price:
        // select * from html where url="http://finance.yahoo.com/q?s=goog" and xpath='//span[@id="yfs_l10_goog"]'
        var data = "q=select%20*%20from%20html%20where%20url%3D%22http%3A%2F%2Ffinance.yahoo.com%2Fq%3Fs%3D" + symbol + "%22%20and%20xpath%3D'%2F%2Fspan%5B%40id%3D%22yfs_l10_" + symbol + "%22%5D'&format=json";
        $.getJSON(url, data, callback);
});

对不起,如果我要求太多。因为我是javascript新手,但我真的很有兴趣尽可能多地学习。

首先对javascript进行一点解释:

$(document).ready(function() {
        //... lines
});
这是一个jquery(请参阅$(文档))事件处理程序(文档准备就绪时将调用它)。勇气:

        var symbol='goog';
        var callback = function(data) {
                var price=data.query.results.span[0].content;
                alert('Stock Price: ' + price);
        };
callback
现在是一个包含一个参数的闭包。作为一个闭包,它需要它的上下文,所以当它被调用时,它可以访问它范围内的任何内容。在这里,它不使用任何超出其范围的内容,因此它的行为与普通函数一样。它所做的只是建立一个对话框,其中包含给定数据对象的某些部分

    var url = 'http://query.yahooapis.com/v1/public/yql';
    var data = /* stuff */;
它们只是设置了请求,该请求被提供给jquery
getJSON
方法:

    $.getJSON(url, data, callback);
在内部,jquery将
数据
请求发送到
url
,当它收到响应时,它将调用带有响应的
回调
,有点像这样的伪代码:

 response = queryURL(url,data);
 callback(response);
因此,结构是创建一个查询对象,并将其与目标url一起传递给jquery,以便为您完成这项艰巨的工作。您还可以创建一个只需要一个参数的函数,并在jquery得到响应时将其传递给jquery调用。这些被称为回调

要实现python,只需拆分url(
http://ichart.yahoo.com/table.csv
),并使用相同的结构。将更新内容(页面上的视图等)的逻辑放在
回调
函数中,或者更好地使用它来触发一些更新机制


查看从yahoo返回的json对象中的内容的最简单方法是使用Firebug或Chrome中的调试工具在
回调中设置断点,并查看其结构。您应该能够从该结构中看到如何访问yahoo returns对象中的各个值。

因此,您希望我们将您的代码从Python转换为JavaScript,而您只是坐下来放松一下。不,我已经为此工作了大约一周,哪怕只是一个从何处开始的指针都会很有帮助。比如对顶层代码的函数调用是什么样子,或者是否存在urllib.urlopen()的javascript版本。
 response = queryURL(url,data);
 callback(response);