3


1

商品取引アプリケーションを設計する第1段階に入ります。 このアプリケーションの主な機能は、価格設定情報の取得と評価です。 この市場での価格は決まっていません。 それは通常市場のベンチマークです/ - プレミアム。 たとえば、(AとBは市場のベンチマークです)

  • 価格= A $ 1

  • 価格= A.5(A-B)

取引の最終価格は、合意された期間にわたって適用される価格設定式を使用して計算されます。 例えば;最終的な価格は、商品の積み込みの前後1週間の平均A $ 1です。

現時点でトレーダーはExcelでこの詳細を把握しているため、必要な計算式を柔軟に設定できますが、この情報が会計システムに反映されることはなく、スプレッドシートは市場ベンチマークのライブ予測に関連しません。遅い仕事。

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

データベースとしてSQL ServerまたはOracleを使用し、クライアントプラットフォームはまだ決まっていませんが、WinForms / WPF、ASP.NET、またはJava Webアプリケーションを想定できます。

私はこれがかなり広い質問であることを知っています、しかし我々はどんな技術が使われるであろうかに関してより具体的になるためにそれほど十分ではない。

ありがとう

7 Answer


2


私はあなたのユーザーがExcelに式を入力する柔軟性を好むと思うので、私はこのようなアプローチを提案したいと思います -

  1. 彼らが実際に異なる基本価格のキーワードで使用する演算子のタイプを使用して、アプリケーションに式を入力できるようにするための何かを書きます。 これは文字列として格納するだけです。

  2. ホワイトリストアプローチを使用してこれを検証します(かなりトリッキーかもしれません。おそらく、スタックベースの解析アルゴリズムを調べる必要があるでしょう)。 - / *()\ {数値定数} \ {基本価格のキーワード}

  3. これらの式をSELECTリストでデータベースが理解できるものに変換してください。 それらが入力する式がSQLでできることに似ているなら、これはそれほど難しくないかもしれません。 キーワードは列名に変換され、それ以外はすべてそのままにしておくことができます。

それから、特別な形式をプラグインし、それをあなたの過去のデータや予測に実行することで、データをSELECTしたり、期間を平均したりすることができます。

ステップ2にはいくつかのトリックがありますが、それは他のすべてを簡単に(そして効率的に)するでしょう。


1


Excelとの統合を検討しましたか? そのようにあなたは彼らのクラッチ(ビジネスユーザ* ADORE * Excel)からExcelをこじ開けようとする必要はありません、そして彼らは彼らが長年にわたって学んだすべてのトリックを使うようになります。 VBAを使用してアプリとExcelの間でデータをやり取りするだけです(または、最近ではExcelと統合するようにユーザーに指示しています)。


1


私はハンクに関連したばかげて単純な解決策を持っています 』という提案。 データベースを作成し、それをExcelのテーブルに基づいてモデル化します。 Excelデータをエクスポートしてデータベースにインポートします。 データベースを指すように、クライアントマシン上にODBCコネクタを作成します。 Excelでは、データソースに接続できます。 このようにして、あなたのクライアントはUIの変更に問題がなくなります。


0


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

私はあなたがあなたの潜在的な式の規則をより簡単な構成に煮詰めることができるかどうか確かめようとするでしょう。 これにより、ルールをまとめて複雑な式を作成できます。 その場合は、DSLまたはXMLルールファイルを使用してデータベース内にルールを格納できる必要があります。

それはあなたの現在のシナリオは、優れている式は、かなりうまくいっているが、いくつかのしゃっくりがあるようです。 高度なマクロや優れた自動化を検討しましたか? あなたはあなたのクライアントがこれまでに勝ることなく、あなたの目標の大部分を達成することができたでしょう。

がんばろう。


0


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


0


あなたが GiNaCのような象徴的な数学のパッケージを使うことができるあなたがテーブルに入れる式を解釈するために。


0


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

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

式を保存して評価するために、埋め込まれた「言語」を使うことに傾いています。

式の変数はスカラーデータポイントではなく時系列ベクトルであるため、単純なパーサーを使用して入力された式をSQLに変換することはおそらく妥当な考えです。SQLアプローチでは、必要な期間にわたって結果を計算しやすくなります。

ありがとう