さて、私はGoogle Finance APIを見つけて調べ始めましたが、ポートフォリオ、トランザクション、ポジションなど、私が何も知らないことに関する多くの情報を見つけました。
私は間違ったドキュメントを見ていますか?GFから為替レートのフィードを取得するには、何をする必要がありますか?これは可能ですか?
編集
少しわかりやすくするため。技術的なことには興味がなく、コードも必要ありません。
さて、私はGoogle Finance APIを見つけて調べ始めましたが、ポートフォリオ、トランザクション、ポジションなど、私が何も知らないことに関する多くの情報を見つけました。
私は間違ったドキュメントを見ていますか?GFから為替レートのフィードを取得するには、何をする必要がありますか?これは可能ですか?
編集
少しわかりやすくするため。技術的なことには興味がなく、コードも必要ありません。
回答:
すべての回答ありがとうございます。
無料currencyconverterapi:
サンプルの変換URLは次のとおりです:http : //free.currencyconverterapi.com/api/v5/convert?q=EUR_USD&compact=y
ここで後世のために、それらは他の可能な答えと一緒です:
メッセージ付きで2017-11-06に廃止
このサービスがYahoo利用規約に違反して使用されていることが判明しました。そのため、サービスは廃止されています。将来のすべての市場と株式データの調査については、finance.yahoo.comを参照してください。
リクエスト:http : //finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=USDINR=X
このCSVは、[Curry] [1]というjQueryプラグインによって使用されていました。Curryは(2017-08-29)以降、安定性の問題から、代わりにfixer.ioを使用するようになりました。CSVだけではない場合に便利です。
[http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in( "USDEUR"、 "USDJPY"、 "USDBGN"、 "USDCZK"、 "USDDKK" 、「USDGBP」、「USDHUF」、「USDLTL」、「USDLVL」、「USDPLN」、「USDRON」、「USDSEK」、「USDCHF」、「USDNOK」、「USDHRK」、「USDRUB」、「USDTRY」、「 USDAUD "、" USDBRL "、" USDCAD "、" USDCNY "、" USDHKD "、" USDIDR "、" USDILS "、" USDINR "、" USDKRW "、" USDMXN "、" USDMYR "、" USDNZD "、" USDPHP " 、「USDSGD」、「USDTHB」、「USDZAR」、「USDISK」)&env = store://datatables.org/alltableswithkeys] [1]
こちらが YQLクエリビルダー、クエリをテストして次のURLをコピーできます:(利用不可)
個人使用は無料(1か月あたり1000ヒット)
「ベース」(「USD」から)の変更は無料アカウントでは許可されていません
登録が必要です。
リクエスト:http : //openexchangerates.org/latest.json
レスポンス:
<!-- language: lang-js -->
{
"disclaimer": "This data is collected from various providers ...",
"license": "all code open-source under GPL v3 ...",
"timestamp": 1323115901,
"base": "USD",
"rates": {
"AED": 3.66999725,
"ALL": 102.09382091,
"ANG": 1.78992886,
// 115 more currency rates here ...
}
}
毎月250ヒットの無料プラン
「ソース」の変更(「USD」から)は無料アカウントでは許可されていません
登録が必要です。
ドキュメント:currencylayer.com/documentation
JSONレスポンス:
<!-- language: lang-js -->
{
[...]
"timestamp": 1436284516,
"source": "USD",
"quotes": {
"USDAUD": 1.345352401,
"USDCAD": 1.27373397,
"USDCHF": 0.947845302,
"USDEUR": 0.91313905,
"USDGBP": 0.647603397,
// 168 world currencies
}
}
毎月1,000ヒットの無料プラン
「ソース」の変更(「USD」から)は無料アカウントでは許可されていません登録が必要です。
このAPIエンドポイントは非推奨であり、2018年6月1日に動作を停止します。詳細については、https://github.com/fixerAPI/fixer#readme)をご覧ください。
ドキュメント:http :
//www.ecb.int/stats/exchange/eurofxref/html/index.en.html#dev
リクエスト:http : //www.ecb.int/stats/eurofxref/eurofxref-daily.xml
XML応答:
<!-- language: lang-xml -->
<Cube>
<Cube time="2015-07-07">
<Cube currency="USD" rate="1.0931"/>
<Cube currency="JPY" rate="133.88"/>
<Cube currency="BGN" rate="1.9558"/>
<Cube currency="CZK" rate="27.100"/>
</Cube>
### exchangeratesapi.io ###ウェブサイトによると:
為替レートAPIは、欧州中央銀行が発行する現在および過去の為替レートの無料サービスです。このサービスはfixer.ioと互換性があり、本当に使いやすいです。APIキーは必要ありません。例(これはCURLを使用していますが、お気に入りの要求ツールを使用できます):
> curl https://api.exchangeratesapi.io/latest?base=GBP&symbols=USD
{"base":"GBP","rates":{"USD":1.264494191},"date":"2019-05-29"}
### CurrencyApi.net ###
月額1250ヒットの無料プラン
基本通貨は無料アカウントでUSDに設定されています
登録が必要です。
ドキュメント:currencyapi.net/documentation
JSONレスポンス:
{
"valid": true,
"timestamp": 1567957373,
"base": "USD",
"rates": {
"AED": 3.673042,
"AFN": 77.529504,
"ALL": 109.410403,
// 165 currencies + some cryptos
}
}
### LabStackからの通貨###
ウェブサイト:https : //labstack.com/currency
ドキュメント:https : //labstack.com/docs/api/currency/convert
価格設定:https : //labstack.com/pricing
リクエスト:https : //currency.labstack.com / api / v1 / convert / 1 / USD / INR
Response:
```js
{
"time": "2019-10-09T21:15:00Z",
"amount": 71.1488
}
```
[1]:http://query.yahooapis.com/v1/public/yql?q=select * yahoo.finance.xchangeから場所( "USDEUR"、 "USDJPY"、 "USDBGN"、 "USDCZK"に対「USDDKK」、「USDGBP」、「USDHUF」、「USDLTL」、「USDLVL」、「USDPLN」、「USDRON」、「USDSEK」、「USDCHF」、「USDNOK」、「USDHRK」、「USDRUB」、「USDTRY "、" USDAUD "、" USDBRL "、" USDCAD "、" USDCNY "、" USDHKD "、" USDIDR "、" USDILS "、" USDINR "、" USDKRW "、" USDMXN "、" USDMYR "、" USDNZD "、 「USDPHP」、「USDSGD」、「USDTHB」、「USDZAR」、「USDISK」)&env = store://datatables.org/alltableswithkeys
It has come to our attention that this service is being used in violation of the Yahoo Terms of Service. As such, the service is being discontinued. For all future markets and equities data research, please refer to finance.yahoo.com.
欧州中央銀行(ECB)にも、私が知っている最も信頼できる無料のフィードがあります。約28の通貨が含まれており、少なくとも毎日更新されます。
http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml
その他の形式とツールについては、ECBリファレンスページを参照してください。http: //www.ecb.int/stats/exchange/eurofxref/html/index.en.html
Yahooには、XMLまたはJSONで一度にたくさんの通貨を取得するYQL機能があります。ECBが1日前のデータを持っている分までにデータが最新であり、週末に停止することに気づきました。
以下は、クエリビルダーです。クエリをテストして、URLをコピーできます。
通貨を別の通貨に変換するための無料でシンプルなAPIが必要な場合は、free.currencyconverterapi.comをお試しください。
免責事項、私はWebサイトの作成者であり、他のWebサイトの1つに使用しています。
このサービスは商用アプリケーションでも無料で使用できますが、保証はありません。パフォーマンス上の理由から、値は1時間ごとにのみ更新されます。
サンプルの変換URLは次のとおりです:http ://free.currencyconverterapi.com/api/v6/convert?q=EUR_PHP&compact=ultra&apiKey=sample-api-keyこれはjson形式の値を返します(例:{"EUR_PHP":60.849184})
このコンテンツはhttp://www.scriptarticle.com/2012/05/03/get-live-currency-rates-and-currency-conversion-using-php-and-apis/から取得しました
<?php
function get_currency($from_Currency, $to_Currency, $amount) {
$amount = urlencode($amount);
$from_Currency = urlencode($from_Currency);
$to_Currency = urlencode($to_Currency);
$url = "http://www.google.com/finance/converter?a=$amount&from=$from_Currency&to=$to_Currency";
$ch = curl_init();
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_USERAGENT,
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$rawdata = curl_exec($ch);
curl_close($ch);
$data = explode('bld>', $rawdata);
$data = explode($to_Currency, $data[1]);
return round($data[0], 2);
}
// Call the function to get the currency converted
echo get_currency('USD', 'INR', 1);
?>
以下は、PHPでの交換APIの例です。
1か月あたり1,000件のリクエストを無料で提供します。アプリIDを登録して取得する必要があります。無料アカウントの基本通貨USD。サポートされている通貨とドキュメントを確認してください。
// open exchange URL // valid app_id * REQUIRED *
$exchange_url = 'https://openexchangerates.org/api/latest.json';
$params = array(
'app_id' => 'YOUR_APP_ID'
);
// make cURL request // parse JSON
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $exchange_url . '?' . http_build_query($params),
CURLOPT_RETURNTRANSFER => true
));
$response = json_decode(curl_exec($curl));
curl_close($curl);
if (!empty($response->rates)) {
// convert 150 USD to JPY ( Japanese Yen )
echo $response->rates->JPY * 150;
}
150米ドル= 18039.09015円
1か月あたり1,000件のリクエストを無料で提供します。アクセスキーを登録して取得する必要があります。カスタムの基本通貨は無料アカウントではサポートされていません。ドキュメントを確認してください。
$exchange_url = 'http://apilayer.net/api/live';
$params = array(
'access_key' => 'YOUR_ACCESS_KEY',
'source' => 'USD',
'currencies' => 'JPY',
'format' => 1 // 1 = JSON
);
// make cURL request // parse JSON
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $exchange_url . '?' . http_build_query($params),
CURLOPT_RETURNTRANSFER => true
));
$response = json_decode(curl_exec($curl));
curl_close($curl);
if (!empty($response->quotes)) {
// convert 150 USD to JPY ( Japanese Yen )
echo '150 USD = ' . $response->quotes->USDJPY * 150 . ' JPY';
}
150米ドル= 18036.75045円
IPによって行われる地理位置情報のほか(ただし、IPはプロバイダーIPであるため、それほど正確ではありません)、通貨も返し、通貨コンバーターがあります。例を参照してください。
彼らは111通貨を更新しています。
この問題のルビベースのソリューションを探している場合は、Google電卓の方法を使用して、次のようなソリューションをお勧めします。http://j.mp/QIC564
require 'faraday'
require 'faraday_middleware'
require 'json'
# Debug:
# require "pry"
country_code_src = "USD"
country_code_dst = "INR"
connection = Faraday.get("http://www.google.com/ig/calculator?hl=en&q=1#{country_code_src}=?#{country_code_dst}")
currency_comparison_hash = eval connection.body #Google's output is not JSON, it's a hash
dst_currency_value, *dst_currency_text = *currency_comparison_hash[:rhs].split(' ')
dst_currency_value = dst_currency_value.to_f
dst_currency_text = dst_currency_text.join(' ')
puts "#{country_code_dst} -> #{dst_currency_value} (#{dst_currency_text} to 1 #{country_code_src})"
以下は、GBPとUSDの間の為替レートを取得する単純なPHPスクリプトです。
<?php
$amount = urlencode("1");
$from_GBP0 = urlencode("GBP");
$to_usd= urlencode("USD");
$Dallor = "hl=en&q=$amount$from_GBP0%3D%3F$to_usd";
$US_Rate = file_get_contents("http://google.com/ig/calculator?".$Dallor);
$US_data = explode('"', $US_Rate);
$US_data = explode(' ', $US_data['3']);
$var_USD = $US_data['0'];
echo $to_usd;
echo $var_USD;
echo '<br/>';
?>
Googleの通貨レートは正確ではありませんgoogle自体が言う==> Googleは、計算機で使用される為替レートの正確性を保証できません。為替レートの変動の影響を受ける可能性のある取引を行う前に、現在のレートを確認する必要があります。シティバンクNAが提供する外貨レートは、ライセンスに基づいて表示されます。料金は情報提供のみを目的としており、予告なく変更される場合があります。実際の取引のレートは異なる場合があり、シティバンクは表示されたレートでの取引の開始を提案していません。
通貨換算に関するヒントを探しているすべての初心者は、このリンクをご覧ください。Datavoila
これは、C#での自分のプロジェクトに関して多くの助けとなりました。サイトが消えた場合に備えて、以下のコードを追加します。以下のステップを自分のプロジェクトに追加してください。フォーマットについて申し訳ありません。
const string fromCurrency = "USD";
const string toCurrency = "EUR";
const double amount = 49.95;
// For other currency symbols see http://finance.yahoo.com/currency-converter/
// Clear the output editor //optional use, AFAIK
Output.Clear();
// Construct URL to query the Yahoo! Finance API
const string urlPattern = "http://finance.yahoo.com/d/quotes.csv?s={0}{1}=X&f=l1";
string url = String.Format(urlPattern, fromCurrency, toCurrency);
// Get response as string
string response = new WebClient().DownloadString(url);
// Convert string to number
double exchangeRate =
double.Parse(response, System.Globalization.CultureInfo.InvariantCulture);
// Output the result
Output.Text = String.Format("{0} {1} = {2} {3}",
amount, fromCurrency,
amount * exchangeRate, toCurrency);