|
|
maodeng 发表于 2013-1-28 13:13 ![]()
1 T1 \# H+ z2 a5 t. hello 300236. p3 H4 L' P3 i7 J2 \: G; l0 V
statement out of context- d4 }- {/ P1 U' G
r(119); % W' }2 G% x$ x5 \* u/ s
抱歉,最近太忙了
9 f# D4 Y2 w& d
$ ]& x( \$ } m( ^ Q* m300236 我用下面的程序试过,没问题
3 |9 {6 w: O. z) ]/ w' E; m
+ n5 ?& E' n9 ~- Q你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
! ~1 ]3 \4 g9 _9 n. X( }
0 \/ y% b4 C$ J/ l* ~) Wcapture program drop hello, z5 w/ N3 [! D" L! l
3 u* U) U3 D$ Q( T1 qprogram hello
' H: G% D2 K8 _ T5 V* D8 ?- X. ?" ]7 O+ L( {" P$ i7 {. z
quietly {
( @& Z. [4 j. w+ f! j- A$ d$ h8 Y
T* C% T6 W' v7 A( S" x# g1 Wclear, ]4 S/ Q1 R( _/ Z5 f! U% v- o
" _& K, \) @. gcd D:\stock\test\source
0 e3 p3 T* j4 k; w! u6 d4 z# _% ?
6 W$ S4 ?! k" rinsheet using `1'.txt
' X; y7 j9 \- `1 N! t2 C
k! i0 X$ c' P8 U" Z/ ?6 r' t% x keep if v5>0# c& n- `# | {& _+ a j" b
1 ^; T6 k% u' s& }5 p& X, o( R
gen vt=_n/ @7 b! \' u- T; D! p
! p6 Q3 i- v$ G tsset vt8 C7 Z/ s6 l; e5 ~5 u8 k' B
1 j) h( l' j8 ?
gen zf=D1.v5; G( d5 e. F" Y7 m* S- E: O
% Y( J; k4 `7 F' j
gsort -v1
% ~- c0 Q1 X9 w6 m- _
% O2 g) K1 F6 h gen avol=v7/v57 b7 ]5 b8 m4 ~+ f& B8 n
- c! x; l& ?7 C4 _* K3 g6 e2 v* P
keep if avol>0
]0 ^& D( o! J& i ' o) R7 ^. I# V* r+ _
drop vt
2 G% C# d& z* c9 I% Z9 Y
" z$ w8 K/ ?/ x _9 o gen vt=_n
# r6 m: s" W2 |) A7 X" H7 W, O! ?# V % `# T0 j' @# d- f: a% P2 D
tsset vt
$ d+ n( o" Z7 i8 U8 G X6 {0 } 3 v0 E) ^+ N. r7 L, P
sum v5 [aw =avol]
9 ]6 q" T6 K, I# x4 m3 M' j9 k5 b# c1 C9 ^$ j% J1 ]" [
gen amean=r(mean) in 1+ ]" r* Y) V6 J3 [
& K. A" I2 w% j: b& \6 m- R
* 总加权平均值 amean' u! Q. C% w" x s& a
+ s, Z- F8 E# F7 O" |
( ~, @ k) X5 J; d" b# D& [8 \ keep in 1/240
k" ]! |* D3 y. G5 i. ` g6 ~1 H6 Z/ f4 |, |* ~
sum v5 [aw =avol]
' H& v* d% U3 ?# J0 J6 I$ P$ `9 P$ s1 _. q0 h
gen mean240=r(mean) in 1
+ e7 l3 O+ e- C3 Z' N4 u$ U
. s( G$ Y& b/ c) O *240加权平均值 mean240) R" Y$ e2 J9 }( k" D' _
; g4 |4 O- E( K- D8 D! N
set obs 500
) i. x# ^+ e' e" z8 z4 s
( ~" A, p" h$ B# Z- o" C kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
# w5 M5 ]. A; F( y1 o- H" ] Q% J) V . Y& {) [7 x* \
*240 kdensity(dx240 dy240)$ }& o* [7 Q6 F2 K) ^
$ _; O1 ~1 E( u1 i1 }- y+ S8 ~
sum dy2405 O9 g' w3 J1 I: C [
8 s7 Z6 x1 j( [% I5 d
gen yxis=r(max) in 1
8 v. d( L( C) `
: G. B9 ~6 w& G. E) j! v0 Z gen yxis2=yxis/23 n0 t+ N6 n. S* }5 _+ ?
' l6 J4 }" J h- Y% m9 c+ ^ *yxis
: l& L& d: A; m+ o8 f
, V8 e5 D, K* n3 q gen dy240max=r(max)+ g) H4 x$ C, I8 e
5 P: B" G! d7 U( V- {8 n4 [: k gen dy240minp=r(min) z4 U( Q5 b0 G+ w: `
1 z% |! L& T, I3 j: K( T2 I4 G# \ gen vtt=_n
0 l/ Y1 j& {8 R9 S2 W9 y7 \ @% ^: k9 t) b0 s
tsset vtt
! ]6 _* B, o8 W9 Z! Z* F4 `" p% h6 R7 |
gen ddy240=D1.dy240/D1.dx240) `7 `6 p! M% }
& Y* O0 P$ P& G3 @
sum ddy240! Q' L" r; U, b3 X6 \+ n
# ?- N8 A* Y' ^3 f7 y5 `% G8 ^
gen ddy240max=r(max)
3 ]) @4 }' t4 h D9 H% Z ' A X0 C* q# E
gen ddy240min=r(min)
! E# J& Q3 ?; K* l( R0 p" W% v$ p7 C
: `( K& C; c/ B1 T6 P+ C/ i8 e gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)1 i: \5 g/ @/ o3 S8 B
1 k2 Y+ Y0 J+ d" c; E { sum ddy240g
' P- _+ I" p3 m$ l8 W
0 }+ U) z+ [* f" B gen yxis3=r(min) in 1
' Z/ \5 T" Y1 v; ~( r- n* j
6 ~8 w- P4 J9 @2 x' R& d3 \% ` gen yxis4=0 in 1. f) Q$ F7 J! S# I: E
0 a3 \* X9 s- I4 F! } *ddy240g 0 j3 i5 r5 C" d, }$ ^
6 m$ s/ c' J& f! {( j
. ^. b- E2 S( s6 C% c
preserve * _% u) f7 b4 f! t- y
) V# m; S$ ~/ X) L2 I
sum v5 [aw =avol]; S! j" {0 g& P! h' E% u
$ M1 Q1 J; F( Z v
keep if dx240<r(mean)
$ Z% U3 L" h- W3 j5 w4 G5 k 9 |9 ~! U" o5 @8 `+ z
sum ddy2408 [- X8 X, e6 U' Z9 |7 M7 ~
. ]* R0 G& z' J9 a, U if r(min)<0 {
4 B: b: Y& P- y" x: T , _$ H) g$ f* v9 M* H6 I
keep if ddy240<=0
; _2 u1 i! Q( Q% J; R
2 f' X- H- I7 |) P% M: u+ i- Z count" s) ~& g6 L9 e" r3 f6 I
" ?7 ], {. z! Z8 z I3 F K( u if r(N)>2 {4 F. z0 E3 q" C
# r, o8 ^0 x7 I* t( B' v
pkexamine dx240 dy2405 M$ p2 E+ U y% v2 ^; o
: u, @; n5 a2 M2 u; t/ V. E local tempminp=r(tomc)7 ` H8 B2 g/ Q$ M5 Q
restore 7 p7 L* `( d2 b L: K9 f2 V3 p
}
; }- K+ Z5 H* U 3 Z9 \/ p+ a* b- O/ }; t. {* Q5 M
else {6 h3 R: @( t% `0 y4 Z7 Y: b4 R: t; L: p
( i" W; w# p) W L \7 I3 z
di "cannot find minp"
b/ \1 o5 E6 M$ n* J2 |2 l9 m
5 x- c7 B6 `/ A- D+ Y% Q restore
1 _. z/ Z: Y7 G sum dx2401 F2 I+ x" Q& i2 Z
local tempminp=r(mean)
' s+ p2 q2 t1 C7 a+ J1 b* Z( e& s * \1 q% q2 u3 d2 N' A0 o) z
}
( ]5 m2 X8 I, e! @ }& y$ A# ?4 o. Z& X9 Y
else {
1 i6 f5 w+ ~8 a! |8 C + _4 ~- K E6 Y# w' L1 s
keep if ddy240<=r(min)! M4 O+ ?, }5 N5 X1 R1 n
" U) x7 f* c2 S9 k) ^+ @) n sum dx240
+ }! K5 e4 p( X% X$ R
" D, W2 {2 T1 @) f8 u0 u% X local tempminp=r(min)
( k. ~! m2 H% o restore
' G8 r5 _+ l2 r6 R- G4 M. y# I }
b; _7 h' m- x+ H& M/ E* M0 l- F% |& Y6 R2 U4 A
* y! z# E( s) y7 H
" W: j6 v9 i* C) P& M1 F) M/ J gen minp=`tempminp' in 1
3 l, \5 h8 h+ C0 k0 w *240 minp8 c# G7 l/ m' X. c: ]" m ?
2 ]) F: i+ Y" m. v$ y9 d1 x
$ J1 }2 _9 c5 k4 T/ S" x
8 g: q0 r, i q+ T$ m& K, h preserve
) o9 C& Y* [1 X& D# F % A8 z/ r5 @8 S+ \! `! }, N, A
sum v5 [aw =avol]
( ^& K$ j2 @2 D% L V9 P& `. s! I& c" I
keep if dx240>r(mean)# K. e4 e+ W( k- t
) ~ z* \9 V g" I
sum ddy240& \* s7 u8 Q% P- \8 u& `3 G
4 r3 f1 a7 M1 O/ K
if r(max)>0 {$ ], ~3 `+ v0 |6 G/ b! q( B
* }1 w2 q) T" F4 n: j
keep if ddy240>=09 X X6 a5 ^1 W0 X3 ^: T. J
z a) k4 q0 E0 q
count9 f) W1 v# q% s' Y0 U* Z7 Z
2 D, L/ Z; w1 a" ^3 W: n( S if r(N)>2 {1 z3 g) j' x. Y+ o( g. s
; e1 a ~$ {& M4 Z. `/ f* K
pkexamine dx240 dy240
/ a4 V- i; v. Y. z ; f% _$ f% k+ J: R+ \. n
local tempmaxp=r(tomc) 6 Y1 m+ r9 S: }# h4 Z- }' L x
restore + x- G/ ^( G" l
}
2 V ~' m2 H# X9 c
+ H, @ O4 y: Q* j/ p ' v# g# f3 u+ `) c1 F: K
else {0 u$ W4 \+ Z% O, b
restore , b. s [5 @# u/ q( g
di "cannot find maxp"
0 [+ d& }% H/ d1 p& { g0 e' A: f
3 S8 i3 b- [. I E( g# [8 R% A & ~4 n; L9 z+ \' a
sum dx240/ y% N# \. u+ E( o0 ]" ]' A
local tempmaxp=r(mean)
0 E% i; t( t& \! h8 m5 c
L/ p6 R8 [1 \) ~# Q }
6 B8 _2 P4 c/ T# g0 x9 I
9 s/ ?) R+ c' I; ^& `: q }
% Y% A: m. h2 r' W5 f$ _ O, p+ F . \1 t1 J2 M0 _
else {
T5 _) C7 N# b0 C* r 9 D! K9 Z' c8 W. y% g
keep if ddy240>=r(max): R& S% [' H0 k1 d7 `' I) k+ w0 K" m2 O
4 h; x+ G' b& u! q0 S4 I sum dx240
+ W' f% j' U3 Y5 }! B5 s ! c' e7 t/ a; N6 S" B g7 s
local tempmaxp=r(max) 8 T5 e9 C; p ?, z J
restore 5 c$ Y0 I5 y) @ k5 t
} P3 X2 v+ a; |9 ?0 @+ q: P# [2 {
& F' p" @5 Z4 ~- V" Q! Y- G1 u1 P* z# ]6 s) e7 {
9 g0 S* b" u5 C8 p) Q1 C; l0 I4 ~8 S9 S' o9 W6 N! M! _5 p) m
gen maxp=`tempmaxp' in 1+ l7 w8 \, _3 |3 B1 y
1 c' P; s6 Y: b4 A- k- ?6 K
*240maxp# u% f; o9 }( g4 h: g
' ^( s E3 K/ `5 e1 G1 ?/ D: p / K; D) f& U6 c8 J9 @( E
*-------------ddy240pminp左侧高峰值-----" O+ y3 i4 L, \
7 Q; Y/ m4 G+ Q2 U, Z, L$ }# b preserve 4 X0 D; s0 \5 X7 q, W
+ _, _8 \6 y+ [; x4 f5 W8 \
keep if dx240<`tempminp'7 @4 y$ e$ g( {% L' d
* v- A4 |, T: `2 z3 @+ f
keep if ddy240>0
. M" i1 B5 u3 A, T9 L
3 F& M' f1 X) A, W. i8 Z+ Z count
" v/ }: j2 ^( ~* h: W
2 \0 c3 a5 O7 W' l7 G+ z9 x: F1 N if r(N)>2 {
) E& p$ N0 }+ Z7 {- [
3 `8 D" [9 p% y pkexamine dx240 ddy240
% D# Z0 A* k5 \ . U q* ]; {/ B4 |& Z7 Z& ?( U
local tempminphddy240=r(tomc) 6 ^0 o9 s8 E- e! c
restore
) E9 @, w4 A, a- @# |4 l7 {6 G }. V9 z8 Q0 \5 ^' `5 P
3 p, P: p. S* G( x- {0 q# F: S+ B* m3 [
else {' _/ s: G' v) ~" F
restore 0 u+ T: Q) y9 G! w
di "cannot find pminphddy240"
9 k0 T2 a/ i* B- D$ L+ @! }$ c 6 g @5 d7 a4 B
6 l1 V3 Q- _7 @; W8 I7 S w sum dx240( W8 S* y/ d# {* z* D
local tempminphddy240=r(mean)
1 S# Q" y% i @! W
' V j5 z7 h+ V5 W$ |/ p! J# D5 x ( _" N3 [% ^! x& B
} f6 H+ c0 ?. `
. v! o6 |2 J- n8 U1 i& o4 O
, K. H* U2 [' L1 z* a
; U4 d' o2 z7 I
- F* r- _6 n0 v1 t3 _" u8 e
% b w& ?/ r6 g ' t- y% Q5 U' w
gen pminphddy240=`tempminphddy240' in 1
|7 ]3 U5 q4 Q* x0 D ' V( c' c/ f, g0 u# a
2 J7 K9 K. d( L" x4 S
*-------------ddy240pminp右侧低峰值 -----------------
2 j" Y3 U- S/ B( _( C0 Z* E preserve # Y/ u _) B: b( T
3 H3 q( o/ y i: x9 R: S( m
keep if dx240>`tempminp', }& j' `0 D; G9 L/ a
2 z* q: o9 R- m+ J$ f. b/ A6 Q
keep if dx240<`tempmaxp'/ {, P) x0 L0 k3 b# [
( b" |- f' d+ i
keep if ddy240<00 p' |$ i( Y/ d) z8 A
! O& z. T; B- ], g1 j# \! O3 n! D: e gen temddy240=-ddy2401 x8 x2 A" G7 w6 E: B' w
1 V4 f1 o% }* ]: P# t
count% [4 [4 ^3 }8 U. g- f, h/ M A
2 E8 C3 A/ k0 ], \# J3 a if r(N)>2 {* D/ @7 d2 d/ k* f7 ]
' C0 i. j; [: }0 O0 x; R) ^; E pkexamine dx240 temddy240
! i' E: W* p% ], _ / E: T: V" C* U" p4 u1 H" Q# {
local tempminplddy240=r(tomc)
! {& y p9 |( y0 m5 f' ^5 u% G ^9 @ restore
+ e( c4 F( l* @ }
8 r# G: ~$ b3 o% \4 U- { 6 Z1 m/ P0 R. k. M8 u
else {8 ?' K4 a( g$ h/ _$ h
2 p2 a4 {. r2 T! i# p di "cannot find pminplddy240"
/ p7 u+ |; ?0 K7 `0 m2 J# O2 O. [ restore; j0 c$ t/ l# f# q
( W6 p5 G& ~0 A8 ?: t7 t
sum dx2400 A/ i: f! ~8 o2 Q3 W! X& w* C a! Z
local tempminplddy240=r(mean)
5 C9 y. o$ u% K! M% [4 q& [8 w
: Z6 ]/ u* R% I" R & `3 s, x2 a2 w# [ n
}
1 A. I3 \. G7 {/ W% G, o
$ r/ F6 ~& B( u+ f
5 d/ K9 t2 r& n: b) s. I
/ x% }- r8 _2 y. X7 l
, }0 a5 Q1 B' T& Q1 n# T( @
* ^7 v$ f8 Y( {& u: `$ V( N gen pminplddy240=`tempminplddy240' in 13 o% n5 B" V2 c3 h3 v. S" h6 I
& z/ @+ _7 S' y! M+ I0 f *-------------ddy240pmaxp左侧高峰值 -------------------
3 Z0 d3 v* Z5 F. |/ r' \/ u
% x/ W0 b- |6 p/ u+ z preserve
2 D3 b1 d( F! Y
& F. f" s, t' ^3 k) z keep if dx240>`tempminp'! \. u6 D% ~2 ~, v6 q B
6 I1 p" }% }2 u. t
keep if dx240<`tempmaxp'
" I( N( i1 D+ F- @) P
) w# c7 U; g! w keep if ddy240>0
0 Q( b' `3 U& R& s2 Z! x$ H3 I count
9 R/ ] b }" e' g6 o, x ! |6 j: U' d9 i# T5 w, x1 H
if r(N)>2 {
7 y/ j# k% ?0 \$ w$ g3 M3 a$ x4 e
1 }+ G/ M+ }) j pkexamine dx240 ddy240
* }! C. t7 `$ E; i4 C1 y
o' T& ~7 Z6 W) E* t+ w local tempmaxphddy240=r(tomc)
' F z2 {0 S6 w+ s5 {
' |& \+ z" x" H0 n9 W7 j restore3 i1 d9 }5 B( u+ Q! H# A
}& i4 N2 g! c: ?( `# i! Y! \
$ y3 q+ `. f0 j; A: ^
else {4 n0 x, D6 d# C6 D7 [# d+ a. X
* q$ S, r# H, {' }" X4 Y: T
di "cannot find pmaxphddy240"* |: ~% g/ J+ c# {1 v8 ]/ [; X* n1 M
restore
& P$ e$ F$ l. d' l- G7 t 2 o4 f) y6 ?" ^( y1 H; Q2 H+ s
sum dx240
/ J( M+ \6 i: }7 j P local tempmaxphddy240=r(mean)
6 `% A8 c8 y' p; o: a
; h6 r5 A6 U/ ~ # x" z' G+ w, u# N* y8 V: \, u# ]
}
1 `/ S9 V* I8 D% J2 j: b& Y 4 N" O6 v' y( M! o$ G. Q
4 w( N! \7 l# `$ N% k3 i
( k) n3 f* d& b# L
; e# O8 `! y0 v$ M6 s
* |5 s3 D5 z% F- H- }! U: A, U
2 Z. W6 L8 ^4 r) H$ | v gen pmaxphddy240=`tempmaxphddy240' in 1
& B# p( N. m, ?
: K9 W& K) G0 U0 N 2 H9 \ G/ a0 E+ q H
*-------------ddy240pmaxp右侧低峰值 -------------------) b8 J8 j- Z. N2 y1 ?1 { M
% j( v) A, D' w9 s
preserve : p1 g8 [$ M1 B# e+ M
* [, X9 N; m% T' K
keep if dx240>`tempmaxp'
; }' u( \! W# I! o6 v! r
G) y3 y0 n% I/ s& P gen temddy240=-ddy240$ K( O1 A: a% l; ^
$ w% x. R$ I. a% I. k& t7 r
keep if temddy240>0% m: h& K/ J/ a. l
1 ^( j3 s5 j# x; g
count
! ^$ f4 j& ?0 h# \$ {
3 U( I# E6 C, o$ J7 U1 |/ B if r(N)>2 {
5 p1 L3 x; n% T/ {% @4 f, k
- j% `; I2 e. @+ I pkexamine dx240 temddy240
/ X7 O8 h) E6 o) ^
) W1 r! z" B% p3 q* x+ b: B local tempmaxplddy240=r(tomc)
6 _( V' R. q& P9 K# g) D0 _6 u, Z8 L restore
7 ]. I1 p6 ]' ]( l5 Y }
2 P& y+ o! v5 V! C' H
+ n& M2 ? ]* I9 g else {
/ W+ h8 W# D' Y0 v: ^3 T4 R6 } restore
+ O1 \# m9 y* C& x6 O; |8 z3 v! j di "cannot find pmaxlhddy240"
* y3 N: Q. Y# P1 r, l8 ^ : e& U/ m. u. f7 _4 p
1 W* \, j$ U3 T A
sum dx240* [9 V3 M/ A% K) H: l/ K+ {
local tempmaxplddy240=r(mean) in 1# n+ ^" H" b7 z0 I* F
+ J. a- P; B% X- @1 x1 W. h
, H0 ~# v2 {( c. t8 a6 ] }3 n: F1 J3 {5 w$ [/ X' p
" C& v; v2 C& C; K# o) Q' Z6 ~
& V6 Q( W$ X! Q- w5 P6 q
6 q- ?& D8 H& \: r3 M ! J8 P* Z ~& f: j& `0 \
@. U- C- N( {9 n g! v" q
( Q' p: q9 x J- Q9 }6 m6 @: t1 I gen pmaxplddy240=`tempmaxphddy240' in 1
5 h, g( s& \4 Y: Z% h8 b * X! r, {* x Y% R1 z+ O! e
*-------------------------------------9 r6 X0 u( z) s ?% r' W" h
7 ~& a+ V" [6 L; ]" | gen price5d=v5 in 1/201 S4 f0 `8 R- `7 V$ r; |
; f+ D4 h+ a/ y, o, D7 E% C
gen price5yy=_n in 1/20" o; V* T4 [. a+ L' T# H
5 C6 Y# a( W: s! G( q
gen price5y=price5yy*(dy240max-dy240min)/20& ~; g6 K8 B, i0 K" H
& c8 |) r$ l& c0 D! | *price5y &price5d: k* X# m9 G9 f4 A6 K
2 x/ T1 Q( o( ?6 |# h: x! t gen priceny=price5y in 12 w x- L8 [3 A# c* x+ M, Q5 h
2 M+ A0 A3 d+ s% ?9 ^
gen pricen=v5 in 1: N# u& K' I: H3 i- k
R6 b# Q% d( r& ` u( D+ E, x% X/ V" x( r
*priceny &pricen5 A" i5 E/ s3 y# a8 t
# c* g8 D* W1 w4 _
$ R: a7 R/ Y; U' ] *-------------------------graph------------------" j/ B8 n3 _6 i7 Y
- a3 r! t, E! h4 f$ i
tw(line dy240 ddy240g dx240)(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)6 @% N9 W9 o: A
" I& t' ?, r# A& ~% b; y$ v* ---------可选项目----------------------
; A- J% x4 ^& R1 `$ f/ N*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
+ }1 L9 L% a8 p% n3 o7 E7 I8 ^' y, a- c; |}7 x# N/ g" U. I$ S B4 d2 v' S- R- f
end' Z% r; C [ ~/ p* r3 Y
|
|