3

商品取引アプリケーションの設計の第 1 段階に入ろうとしています。このアプリケーションの主な機能は、価格情報の取得と評価です。この市場での価格は固定されていません。これは通常、市場ベンチマーク +/- プレミアムです。例: (A と B は市場のベンチマークです)

  • 価格 = A + $1
  • 価格 = A + .5(AB)

取引の最終価格は、合意された期間に適用される価格計算式を使用して計算されます。例えば; 最終的な価格は、商品を積み込む前の週と次の週の A + $1 の平均である可能性があります。

現在、トレーダーはこの詳細を Excel でキャプチャしているため、必要な数式を柔軟に設定できますが、この情報が会計システムに入力されることはなく、スプレッドシートは市場ベンチマークのライブ予測に接続されていないため、価格予測が手動で行われ、遅いタスク。

アプリケーションで数式を入力、保存、および評価するために使用できるツール/手法についての情報を探しています。

データベースとして SQL Server または Oracle を使用し、クライアント プラットフォームはまだ修正されていませんが、WinForms/WPF、ASP.NET、または Java webapp を想定できます。

これが非常に広範な質問であることは承知していますが、どのテクノロジを使用するかについて、より具体的に説明するにはまだ十分ではありません。

ありがとう

4

7 に答える 7

2

あなたのユーザーは数式を Excel に入力する柔軟性を好むに違いないので、次のようなアプローチをお勧めします。

  1. さまざまな基本価格のキーワードで実際に使用するタイプの演算子を使用して、式をアプリケーションに入力できるように何かを記述します。これは、文字列として格納できます。
  2. ホワイトリスト アプローチを使用してこれを検証します (かなりトリッキーになる可能性があります。スタックベースの解析アルゴリズムを調べる必要があるかもしれません)。+ - / * ( ) {数値定数} {基準価格のキーワード} を許可できます。
  3. これらの式を、データベースが SELECT リストで理解できるものに変換します。彼らが入力する数式が SQL で実行できるものと似ている場合、これはそれほど難しくないかもしれません。キーワードは列名に変換され、他のすべてはそのままにしておくことができます。

次に、特別な形式をプラグインし、過去のデータや予測に対して実行することで、データの選択、期間の平均化などを行うことができます。

ステップ 2 にはいくつかのコツがありますが、他のすべてが簡単 (かつ効率的) になります。

于 2008-10-22T02:39:25.050 に答える
1

Excel との統合を検討したことはありますか? そうすれば、Excel を自分の手からこじ開けようとする必要がなくなり (ビジネス ユーザーはExcel が大好きです)、長年にわたって学んだすべてのトリックを使用できるようになります。VBA を使用してアプリと Excel の間でデータをやり取りするだけで (または、最近は Excel と統合するように言われています)、準備は整っています。

于 2008-10-22T11:15:26.383 に答える
1

ハンクに関連する途方もなく単純な解決策があります』、提案です。データベースを作成し、Excel テーブルに合わせてモデル化します。Excel データをエクスポートし、データベースにインポートします。クライアント マシンに ODBC コネクタを作成して、データベースを指すようにします。Excel では、データ ソースに接続できます。これにより、クライアントは UI の変更に問題がなくなります。

于 2008-10-22T12:17:46.070 に答える
0

回答ありがとうございます。

ユーザー自身が Excel から離れたいと考えています。彼らは、データを入力して更新しようとする複数のユーザーと戦っています。小さな Excel シートをアプリケーションに埋め込むために VSTO が提供するオプションを調査するかもしれません。

私は、組み込みの「言語」を使用して数式を保存および評価することに傾いています。

単純なパーサーを使用して入力された数式を SQL に変換することは、おそらく合理的な考えです。方程式の変数はスカラー データ ポイントではなく時系列ベクトルであり、SQL アプローチにより、必要な期間の結果をより簡単に計算できるはずだからです。

ありがとう

于 2008-10-23T02:25:05.470 に答える
0

データが信頼できるソースからのものである場合 (大きな場合)、データベース式を列に格納し、その場で SELECT ステートメントを作成して実行できます。

于 2008-10-22T03:11:02.227 に答える
0

テーブルに入力した式を解釈するために、 GiNaCなどの記号数学パッケージを使用できます。

于 2008-10-22T03:15:49.377 に答える
0

興味深いシナリオ。警告: この回答は、問題に取り組むために私が持っていたいくつかのアイデアに基づいており、ベスト プラクティスを反映していない可能性があります。

潜在的な数式ルールをより単純な構造に要約できるかどうかを確認してみます。これにより、ルールを組み合わせて複雑な式を作成できます。次に、DSL または何らかの XML ルール ファイルを使用してデータベース内にルールを格納できる必要があります。

あなたの現在のシナリオ、Excel の数式はかなりうまく機能しているようですが、いくつかの問題があります。高度なマクロや Excel 自動化の使用を検討したことはありますか? クライアントが Excel を離れることなく、ほとんどの目標を達成できる可能性があります。

幸運を。

于 2008-10-22T01:55:07.997 に答える