|
|
maodeng 发表于 2013-1-28 13:13 + W# C( j/ ^' \ l* [
. hello 300236
. b, w( U) V& `/ q! F! t5 d& ]statement out of context
( [8 k& Z, p; q5 `r(119);
( J% R" j0 `! Z( m3 q抱歉,最近太忙了3 p; W+ Z* k' V7 m4 R
: a7 }' m" i G1 I9 ]" @: |. Z300236 我用下面的程序试过,没问题6 t- F: ?/ ]3 Z
: M/ ]( |$ M% l你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试; T; o [, ~& \# x5 r
- H/ q! j$ {& s: `. a; N! qcapture program drop hello
$ a6 R! I' m" t9 [5 E
4 `% {6 h" F% } S9 T1 Dprogram hello
9 I4 K3 w* t: D- }: e5 j1 A1 X5 [) F# E7 X. q* W
quietly {
* p4 {+ m. ?7 f3 C6 K! k( `- a3 B; N
clear& v/ T# _/ n( }, Y$ I
8 O( H2 @, f7 i9 k5 C8 g$ K+ t4 |cd D:\stock\test\source9 x3 |" }4 s$ m8 k$ M$ X
0 N" M, `% x1 Dinsheet using `1'.txt
1 ]4 L, ]& `$ S2 C' G$ Y' R- E& B$ ?1 t
keep if v5>0: T6 f4 g( W/ [3 s- q2 C: F( Y7 x
, A- V# n! k3 N+ A6 E7 r+ { L
gen vt=_n
' j& t0 {0 P$ w9 p% X) d
- _$ ^; S& l3 [ tsset vt* f# i3 P) w0 j6 u& Z
& t$ E" k1 H6 @3 d+ T
gen zf=D1.v5
; z, Y: I7 \: B7 e# z5 G$ g+ n/ t% J8 J( o2 Y" U8 p, i B) O* V G! Z
gsort -v1) M3 Y6 x F; @- u# k$ L
. F) \# n: d" t7 P( P
gen avol=v7/v54 J, F5 h: N! L& H$ o' g# h
0 ?; }- }; b% k9 c. E$ p
keep if avol>0" }8 ?; G& z( Q- k7 o0 m
6 F* s' m( [% B3 O6 u drop vt/ w @0 d1 I9 D& U. r
0 n+ U2 \! b% J! [) f% V) C$ E
gen vt=_n) s9 y: M+ _) ~, L# S5 {
; A/ B$ k+ y/ u" o5 N) c, d. w$ ?
tsset vt
2 d, X3 ^9 f1 X1 O0 R- A0 U
; ~/ B& q% O8 t) h/ A4 E; \/ A sum v5 [aw =avol]
8 ^9 }! t8 q z! ^/ `: D
. S8 a0 f9 Y7 k% v" D) Q3 ?* Q gen amean=r(mean) in 1
3 v) p3 R0 {( m# D" d5 O f+ z1 n. Q7 A* U4 m
* 总加权平均值 amean
1 e' S, T& T3 n8 V2 C, k# p+ P
8 J! V! K |: Z. e
2 v5 ], Q ~9 Y2 `2 p$ ?# c keep in 1/2406 `& b% U# h$ F5 G$ D! c4 D
! B" s7 M' G: ?4 b8 `- Q% n
sum v5 [aw =avol]. W. G ?' O6 p. e. W' r0 ^
3 t6 s! z+ ?0 T
gen mean240=r(mean) in 1
* A. m/ w1 T8 D# P1 D9 N8 Q, n- G
0 {, _+ k' Q+ J- |; ^ *240加权平均值 mean2401 ^+ E; X) q4 p0 m* u. f( D9 j$ ?
f6 A' I; H! z: v. x# u7 \ set obs 500
/ |' {. B- D, n* h$ `
8 c3 Y, ^" i" q7 ]! t k7 V kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
( @0 Z% d7 f# L' w- M
3 x) }' ~' J6 w! H% ]0 y I *240 kdensity(dx240 dy240)
. k" R- P' h; n
4 y/ W4 l+ r4 a$ P2 b! n2 R. {! D. X sum dy240
& |7 v) V8 V4 {+ V4 ^5 B$ J+ R$ B . O( v8 K+ d' J
gen yxis=r(max) in 1* ?% x& o+ |: r
' ^3 [) b/ A) K0 e" ~" S" u! p5 n gen yxis2=yxis/2. N1 L& c) S b* _5 T/ Y# D
2 v4 U8 }0 t- v. }( D/ C* n7 \ *yxis. y: t% K* r0 r: h2 z( N
+ r! d; Z$ h9 ~4 d+ R# G
gen dy240max=r(max)
; _$ a& g; f2 J O" q# I
% q; T5 T3 M, l; C _ gen dy240minp=r(min)9 K3 P* I" V4 Q7 E5 u, _
( y: a; f: D4 `* s- i8 {
gen vtt=_n
3 z. b, v: ^- f% T8 h+ Q# o
1 ]! z0 r r& U$ r, ^ tsset vtt
# Y" X0 C0 [- O) |1 ^2 V: k" T& i2 c% N
gen ddy240=D1.dy240/D1.dx240
0 q9 `6 `0 P. B4 u, a" R4 a( ]- | ; L: H1 k$ F. Q' E0 S+ P
sum ddy240! g( }$ g+ |) p9 u" e
2 A0 L7 W& O2 n- ^* p& G: q+ N$ s+ C gen ddy240max=r(max)
5 _4 A5 O- o* h# C/ o # |" k: W' g) e& x. _
gen ddy240min=r(min)1 Y3 r" G2 L, u' n) x* Q B% T# b) V
+ e( M4 M; }" a- h3 W gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)! k0 ], s4 A% R- \; C& U
. `* w, j2 F# q8 p
sum ddy240g
& ~. z4 `7 y" b
4 |6 o' C" ] T9 W- Z' Z: A- K- p gen yxis3=r(min) in 1
7 x" [# h* O6 e. y# K
3 R& f7 [+ C5 @/ a3 l( Q gen yxis4=0 in 1
- y& m9 {9 ^+ l/ I- t Z6 [2 N
I3 o5 s' x% a5 N8 R1 t' @ *ddy240g
5 `: i, T2 Q* a A# ] C6 s * B* m' U7 {- K3 z! t
9 n; o" V; f( Q t
preserve 3 T- z. i& T9 Y% ?4 m
8 m. A0 Q; v& [8 r2 g1 b
sum v5 [aw =avol]
" l) T8 ^& p* m" N" F
3 a: q" w' v# { keep if dx240<r(mean)
3 v! I1 H+ r5 v' J# ^/ o. P; j
* a* ]1 e- t# U/ ~% u% q+ | sum ddy240
) f+ F6 B; A" ?8 X% H
! z9 s( s9 O* b W! i if r(min)<0 {+ E7 J' L* J, b8 X1 {- F' `
' J1 ?# d: G' e/ N0 L keep if ddy240<=0
o4 E5 P" V8 A# [
4 g1 F& n0 o$ U9 t9 D, f: B count
3 p C. f4 j: X6 a/ f' P& Q9 f9 r d7 N' @$ L t* E& I
if r(N)>2 {
0 o% z+ U: w6 l+ Q4 I) I2 Z- Z# @ * g, N( o; K) d9 w- h9 v2 u
pkexamine dx240 dy240
d( e6 o- G5 {9 V " T1 [. J5 U/ f7 Q, {! d8 e
local tempminp=r(tomc), q i% H1 u8 K: j
restore . b; T" S+ A4 V5 j( D
}
5 T& a7 S% S( y7 P+ m& E, D" ?6 D
9 `+ @& ^) s) m) ^ else {9 F/ P. ~6 ^: C) C% R1 W
& F- M+ u+ d# x+ n- B; C' P
di "cannot find minp"2 k) }9 b; `, F; |* H
$ i( i3 H }- a& [, \. A* _6 v
restore
7 |7 u/ S/ c Y0 T1 A% p( F sum dx240
1 f; E6 w' B! _7 t local tempminp=r(mean)
4 w/ y9 |2 r- X
& t, z! ?1 h- V5 k! c }7 @3 I* i7 m+ D4 U
}+ e7 ]6 H# O" `$ | u& C T% ^ W
else {) J# i. U, M6 X( B7 s+ T8 b
8 d1 B# B7 r! A3 q% \' m
keep if ddy240<=r(min)" b5 n* y7 R" b1 u6 o" U4 V
" w1 U( y) Y# n: D2 K+ A sum dx240
5 O( [# }1 o0 f% b; q$ F6 ^
3 L2 W$ V4 Y2 R2 E local tempminp=r(min)/ X- m, t* m2 p! A. n4 K
restore
& M3 E5 J0 R' M* w' R5 |4 r }
+ [6 m" }+ E3 V7 A3 I
9 n) n( D A, ]* u: w _8 X7 V* [4 i8 B) _1 f9 b- E
9 }! J* ^7 M" ?! j2 Z& W( I% [: j- U
gen minp=`tempminp' in 17 S. {7 W- W) [. t
*240 minp
2 q5 v" a3 y! ?* n' Y2 Q
# @5 G3 P2 o5 \, t6 Z% c6 _
4 _; d9 B9 k% O1 {
% J0 k! I, g! y2 i* `: l4 ] preserve
L% o# S+ S) J2 E) Q" h
7 ` n( j e- ^. M8 X sum v5 [aw =avol]
, O) }! y& [* N/ h' h) w , i8 U! Z' r" B6 ^8 ~+ D
keep if dx240>r(mean)
4 i0 H9 J4 \. L% ^- k$ W0 v E1 s: O 1 z! G- A% G! Q3 \5 K' y% A1 [
sum ddy240
# A1 o/ ?4 m7 g7 R8 p+ X) k ( \1 M Z/ E" e7 R4 {
if r(max)>0 {
7 S6 D. d0 R' Q6 a
E& J) L4 ?5 m+ M# @ keep if ddy240>=01 p$ G7 E/ Z Y/ D1 d
- u7 g+ U0 |) }: v8 q) }, g! m count
: ^, c) r/ g! T0 J' o. l $ ]+ E, t: ^* ?( z( F6 ]8 n7 Z( D
if r(N)>2 {2 J/ J9 S4 k4 I" I$ f' d) ~+ O4 i
; O% J3 a; E: B pkexamine dx240 dy240
" D0 Y) U& ~, E 6 }) V, h" {4 b" n, b
local tempmaxp=r(tomc) 6 H9 L& V# ^1 p1 d# F7 D
restore 1 F Y4 T# Q8 D
}
0 Q$ u3 \$ M1 L% Z S% v' t) L+ u; I* P: ]
$ }% y; I l* \# B6 C+ {' V else {
5 l) c. r. Q& a3 s7 t3 W; h restore
4 ?; w; V8 E( R/ K/ Z: a% J5 [ di "cannot find maxp"
1 N2 L8 A2 W2 W* x / q1 A/ j/ c/ \; a8 m2 S$ Y
' {! n5 b& |" G3 C
sum dx240" }+ ?( }$ \8 [1 L
local tempmaxp=r(mean)0 s4 ~) g6 S7 T0 t% ?4 E
1 g! }2 f$ U# Q6 W, V% ]
}
6 V! S- a }+ h! {5 m4 C + a' Y* Z4 [2 F, s& N I: J5 E
}& B" l2 |9 S, `: W' M& k0 A
) [% J6 E5 n5 W' S% T else {; l& s9 k( l( e, A# [' ~6 D
3 b8 y: Y4 J) B: H# t/ K- s
keep if ddy240>=r(max)* z$ J3 S7 Y) l, ?
5 P7 _8 ^5 r" L! h; \
sum dx240, n5 f$ u1 d! D# ^. v
" p8 u/ {4 H7 b, I- G; j7 w local tempmaxp=r(max)
3 ]" a7 f% ?* D0 s0 }1 z; p restore & Q$ m& h' g! r3 \8 H
}
2 B( S. M; z' n7 _2 Q2 y
2 S+ t P! W- S8 T, Y" K q) T3 Z0 M5 I9 I+ {5 d2 o1 }2 K" X7 M
( Q# T# b# c9 W# C6 k
8 h, n; s, M, S" e9 w0 N gen maxp=`tempmaxp' in 1
9 O; q K* Q. W; g, e* J
0 o# l' R9 w: L *240maxp- E- [ _+ A$ c. L( Q
* I1 T* Y/ X' Z" I$ J/ R$ h& h ( X* M0 c5 A8 c' F. }
*-------------ddy240pminp左侧高峰值-----% }7 }% X5 a9 V6 e6 G4 ^
/ A' L$ R3 _! Q- R: p3 m1 k/ p
preserve % p. p# a9 T: \6 B7 D: N
* [9 p7 x; { g( K+ g3 n keep if dx240<`tempminp'
3 ~5 t( U% B5 h8 k* q$ I, K ! z2 O& J" E( T* X, J
keep if ddy240>0/ J1 @7 {+ e$ ^
1 s. n! M5 o& J# E
count
0 g( L; r0 R; g& p5 D& p- V , v+ A* i5 { V; r
if r(N)>2 {6 F; F0 d& b# ?; f4 y2 z) `& q
2 R5 l! H: l7 E; m6 e, B0 z
pkexamine dx240 ddy240
) ] X% w" t, p9 Z2 I
6 j0 A4 x$ [( a local tempminphddy240=r(tomc)
# H; E8 s: g3 y4 T restore/ [; x* W9 r6 M& b# `( [0 K" n( K7 {* O
} Y+ o/ h. ?3 y
9 q1 F' s. f$ X else {
" v; _* @8 J+ ]' q restore
2 X7 m$ x1 R5 H4 ]% S2 S; l( h+ Y di "cannot find pminphddy240"
; Z' J0 z, n! p1 C. \- k) K1 \1 G5 C
% Z! q6 t0 p1 @% M$ ?: S4 |
r1 c6 g7 z2 }$ A3 r: _ sum dx240
0 m5 ^3 ]' O8 n9 |6 W4 f# ~ local tempminphddy240=r(mean)
' u) g% `1 {& _0 I$ n/ b& X9 v) z ) S2 |9 q; P! I+ V
9 g. C* D; Q& w- y2 b* x3 D
}3 [) d1 g3 U- B3 G; y+ E
6 j- X& f/ B A& r2 g7 G
s6 X3 A* ]2 h8 `5 |
+ F' l {) i5 w: T
( _! o& I* c/ R
2 [" Q a0 R. \3 D# h+ l0 ^ g - U h( R) H5 q3 M$ `$ ~& X2 v6 T
gen pminphddy240=`tempminphddy240' in 1
/ J5 ]3 E0 G/ ?& o# z- U9 j6 R $ G3 A. m K: K7 n
% E- F8 S0 Z3 J9 |4 q *-------------ddy240pminp右侧低峰值 -----------------$ I3 l) z0 J4 ]( j$ s' r
preserve - i. H! _/ `$ ]* D- x# D( y
# C+ m0 S+ r' Q5 U2 w, X6 Q7 S keep if dx240>`tempminp'$ Q {, t3 r! m6 F" \* o
4 a8 s( R# n. J: x4 }
keep if dx240<`tempmaxp'
9 f' A/ Z' \: H7 u( h/ V5 P4 ^ 9 B9 r4 B0 J+ }) Y
keep if ddy240<0
5 j1 k% R: [; X, L" B4 A/ p8 z* s
9 N( o3 _2 l5 n- p/ a; b gen temddy240=-ddy2408 E. C: }" Z: r9 b @. a3 D
' m$ q! c) ?& q
count
5 n! p1 m# y& @% N: }+ F
' w% y! a& c0 o* v; I2 D- }: d/ r( u if r(N)>2 {
* S- A* t9 O& h; i$ k- r
! }& l" W) O6 [1 h! d pkexamine dx240 temddy240
- q. T8 t) V2 ^4 Y4 y' K ! Y( `0 }% @5 D) l2 n# B* s: I
local tempminplddy240=r(tomc)
1 ~4 i% ^' a9 s9 }1 I* M* g restore
3 o% G$ |/ w. s, f! Z. ^; x7 a& W1 A }) M7 C- Y1 m2 W
5 v# o/ @0 }8 Z1 o else {- q3 X7 r; z8 R( [" L3 P0 p' u
' m5 ]8 C- b- Q9 @2 X. d
di "cannot find pminplddy240"" ~; P l$ d1 C" u! V4 i7 Z
restore& w" Q0 E: z( X9 }3 d
9 x, |1 D* l: E5 u! g
sum dx240. R' a( H' D* j+ _3 J
local tempminplddy240=r(mean): X r7 a, e, ^, W. a4 p
9 i( t4 }# U4 M2 d$ ]) S
, _! I: \4 T4 j: K }9 P! Y! p# }' q5 g# C8 }$ ]
0 g4 b! ?" C5 T$ P; u. j( y
: E( a7 q- C [7 b$ k
! q5 A" q; u! m. t% q, q
& w: a" e& h, Y% g* L. |2 m' h 7 d8 H, h0 }( E# H
gen pminplddy240=`tempminplddy240' in 1
" c/ s: J1 r6 F: m6 V2 c 8 u1 R2 F- L* k- n8 w
*-------------ddy240pmaxp左侧高峰值 -------------------
* i d* g/ F* a4 u$ o* A# ^/ M
' f4 w. u/ [% y2 `8 t2 k preserve
, ^! a- a* Z+ R+ W5 H( Q
5 Y2 `" M. J& E$ J" T+ \1 W- b( F4 e keep if dx240>`tempminp'
! [% T7 ~4 ?: q$ }9 J: r3 m3 G
7 P% ]: `% M7 n0 t* A9 _ keep if dx240<`tempmaxp'
6 |- ~8 H; P; }& q
* Z7 s# Y, r1 J$ j" M& G keep if ddy240>0
- u7 d; P/ q4 e) D; S# Y" | U# w- v count. d/ {2 Y4 U0 l/ [1 G/ {; f
/ [$ f D3 F( l) C& H
if r(N)>2 {
1 u+ l, Y# V$ X& l' |
( L# X7 _# A# R( I" G: d4 N& w pkexamine dx240 ddy240# s8 ]+ L5 I, f
, {0 c2 K& {3 W" ~( E local tempmaxphddy240=r(tomc)
$ _! X" M4 D* \( g* Q- I% ]$ z9 D , ?* W1 f4 N; h" e! I
restore
5 G0 P/ o* ]8 I' v2 {" h# m7 w }( l, n. } p9 {7 I
& a! G( L* }; V1 l+ _* \ else {
- z: P9 M+ K6 H% I& ] I1 u4 F
* `' P9 n' C- [ di "cannot find pmaxphddy240"
; H, p+ \9 I. p- x3 p( ^* S restore
0 B; h7 F) } K, m8 W
1 h- ]! x4 @3 _8 ^0 ] sum dx240
- Q$ W8 Z' N- ~0 K local tempmaxphddy240=r(mean)
1 H% W t1 _& J6 a! e1 j 6 P2 Z6 w" h. N6 i4 g
' @+ r. a; r* r$ u5 t. Q
}
4 m9 G7 A2 b# U. E4 u # x4 w6 m% w e& E
1 |$ O2 i" `; R. l% H: I 7 a: e7 D& r! E
6 r- O& J7 f- B7 \9 ~8 x7 ~1 l: o
& }: l3 L" I& X8 E
5 ]& ^2 w' ~% ~ gen pmaxphddy240=`tempmaxphddy240' in 1
$ z( I/ n% a# O" J' [
( d3 Z& O9 d1 o# A, N+ A& g' y / P- w, n2 Y! h# B: f* C2 e4 D' r( c
*-------------ddy240pmaxp右侧低峰值 -------------------. R# V- `' w6 w9 x+ U' ?
6 r3 q: i4 j( _. S preserve ; s. i8 K- c& h# O
& K3 x. k3 j$ m6 }+ g keep if dx240>`tempmaxp'7 ^/ ^1 z& r1 {- i- }
6 @% p3 @- A) J- e6 B( ^
gen temddy240=-ddy240 A2 F2 F3 V" J. A- ^
1 @7 v1 x# t0 v/ R# y* j% F* O
keep if temddy240>0
, f1 {# Z8 L/ \+ p: B/ Y9 ` , k( F/ l7 Y. y( v0 X
count1 g5 o& @6 c0 M$ @$ q/ o
/ v0 S" a& ]# N, N+ h if r(N)>2 {1 K" d- k: o- o0 v3 [
7 |2 B' s: i2 c9 u; d; w8 ^
pkexamine dx240 temddy240# k# \/ T' v6 r
/ R0 ?: e" M4 z local tempmaxplddy240=r(tomc)
9 s" n9 o7 @# n$ A restore' {% ?* S! R5 Q
}: v/ @. R6 @! `$ j
2 _" p E! q; [+ l else {! R$ y. |. a4 I5 o d t; `
restore- D) Y; ^/ p1 w' e- G5 Q
di "cannot find pmaxlhddy240"6 {! l9 G2 a8 Y; X3 J5 v
1 i2 E+ g2 T* ]8 ]! @
0 B& e1 r; U2 s# K( v) ^% _9 d
sum dx240
/ `0 U7 s$ R" Z local tempmaxplddy240=r(mean) in 1
+ i+ U7 d4 T9 e: u 6 s @4 ^) z% z0 ^
! V7 Q4 T) C7 D( F% b0 y
}
/ P% D' P$ X6 W; }: f7 C
7 {- f3 q M4 K' o! ]
; h: P' y' D0 m2 I( D ) b- N- R$ B- T' j2 P9 q
2 l4 B) Q3 b6 A& q$ l$ ~
" [9 ]6 ]2 q) W- p- t4 K/ @" L
5 S& o- {( {0 {# }! j gen pmaxplddy240=`tempmaxphddy240' in 17 z" } c1 U6 X/ r) K
/ d* O, J# o. F: H# d9 z
*-------------------------------------
! Q5 n" V! `$ i! G$ a; w V$ k& f & Z# g$ O2 {" Y/ r& }9 y
gen price5d=v5 in 1/20- b5 }/ u8 N4 R* ^# T0 p, S4 a
/ Y7 a8 U6 P6 A
gen price5yy=_n in 1/20& a. s- ^6 y" W: N8 a7 A
! G$ _& u2 e/ ?& _
gen price5y=price5yy*(dy240max-dy240min)/20
* @3 S4 u7 @( T/ V / w' }: p9 i k
*price5y &price5d
! t7 Y, J, ?. p& C9 F2 y ! M4 _/ |0 Z3 W8 B
gen priceny=price5y in 19 C* B- M4 q. W }8 v
8 O4 S: u+ _5 \7 {" f8 l
gen pricen=v5 in 1
9 e5 v# f" ^5 x( [
" g2 s$ E) P; E0 K6 s4 Y8 \0 \- n+ W' p 7 \, T+ j2 z" K
*priceny &pricen
. e4 d; G0 G% T/ s/ D# |; E
; _. G9 h D7 K6 C7 H' Y0 j: y
4 s1 `% A0 j7 V: l' U% f: q J *-------------------------graph------------------& `2 A2 l8 K/ y, m/ W% K7 _
- F4 Z+ w- c* q$ F, P7 y
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). c1 Q b N5 f5 @
6 ^( P5 J- V- S6 h$ _* ---------可选项目----------------------5 b4 s5 V+ w- G2 b
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))$ U6 [4 N3 r: V& h8 M9 u/ s
}
. ^3 Q; R2 N2 ^% S8 bend% I& U- N( }* i! N& W7 }' f
|
|