Взять котировки с yahoo

318
01 марта 2017, 19:47

Для того, чтобы скачать котировки с yahoo finance достаточно на пайтоне сделать так. А как сделать тоже самое на джава?

from pandas_datareader import data 
 
a = 'AAPL' 
aapl = data.DataReader(a, 'yahoo', '1990-01-01') 
aapl.to_csv('C:/aapl_data.csv')

Answer 1

Полноценное решение на java с хорошими примерами. Кода будет почти так же мало как на python'e

http://financequotes-api.com/

Если покапаетесь в исходниках то сможете понять как работать с Yahoo api ну или же почитайте следующую инструкцию

http://meumobi.github.io/stocks%20apis/2016/03/13/get-realtime-stock-quotes-yahoo-finance-api.html

Answer 2

Низкоуровневый вариант как-то так будет выглядеть:

package javatest;
import java.io.File;
import java.io.FileOutputStream;
import java.net.URL;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
import java.util.Calendar;
public class JavaTest {
    public static void urlToFile(URL url, File file) throws Exception {
        ReadableByteChannel rbc = Channels.newChannel(url.openStream());
        FileOutputStream fos = new FileOutputStream(file);
        fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
    }
    public static void main(String[] args) throws Exception {
        Calendar from = Calendar.getInstance();
        from.clear();
        Calendar to = Calendar.getInstance();
        to.clear();
        from.set(2016, 2, 15);
        to.set(2016, 2, 28);
        urlToFile(
                new URL(String.format(
                        "http://ichart.finance.yahoo.com/table.csv?s=AAPL&a=%s&b=%s&c=%s&d=%s&e=%s&f=%s&g=d&ignore=.csv",
                        from.get(Calendar.MONTH),
                        from.get(Calendar.DAY_OF_MONTH),
                        from.get(Calendar.YEAR),
                        to.get(Calendar.MONTH),
                        to.get(Calendar.DAY_OF_MONTH),
                        to.get(Calendar.YEAR)
                )),
                new File("file.csv")
        );
    }
}
READ ALSO
Как поймать исключение и показать alert dialog

Как поймать исключение и показать alert dialog

Дано: диалоговое окно, при нажатии на которое появляется ошибка androiddatabase

255
Можно ли DIALOG_TIME добавить секунды?

Можно ли DIALOG_TIME добавить секунды?

В компоненте DIALOG_TIME не обнаружил секунд, а они мне нужныМожно ли как-то их добавить? Или есть какая нибудь альтернатива, для того чтобы осуществлялся...

193
Динамическая компиляция класса java

Динамическая компиляция класса java

При компиляции Diagnostic выдает package orgapache

269
Вычисление Load Average для Windows

Вычисление Load Average для Windows

Как можно вычислить Load Average системы с ОС Windows? (Язык программирования - java)Sigar API и OperatingSystemMXBean не вычисляют Load Average под Windows

331